我的理解如下:
1、用instsrv新添加一个自定义服务名的服务,此服务关联着srvany程序;
2、srvany程序读注册表相应项,找到服务的主应用程序并按照注册表的参数执行它;
3、这个服务可以在services.msc中找到,可以设置开机自动启动。。
注册表文件这样写,写好了双击。(注册表文件后缀是reg)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名\Parameters]
"Application"="需要运行的程序的绝对路径和参数"
"AppParameters"="需要运行的程序启动时候的参数"
"AppDirectory"="需要运行的程序所在目录的绝对路径"
程序绝对路径举例——"C:\\Program Files (x86)\\VMware\\VMware Workstation\\vmware.exe"
启动参数举例——"-X D:\\vms\\C6-7.vmx"
目录绝对路径举例——"C:\\Program Files (x86)\\VMware\\VMware Workstation\\"
注意:我测试了很多次,只写一个 \ 是不行的,要用 \\ 写路径才成。-x是后台偷摸启动,打开控台容易找不到虚机,建议用-X是调到前台打开虚机。(如果开机需要启动多个虚机,只需要在后面再添加多个vmx文件绝对路径即可)
双击这样一个reg文件以后就导入到注册表中了。接下来是建立服务。在cmd.exe中需要键入的命令是:
"instsrv.exe所在绝对路径" 服务名 "srvany.exe所在绝对路径"
举例:"C:\Program Files\Windows Resource Kits\Tools\instsrv.exe" vm_autopoweron "C:\instsrv\srvany.exe" 如此就建立了一个叫vm_autopoweron的服务。
没有instsrv包的,戳这儿下载
删除服务方法cmd中键入如下命令:
sc delete 服务名