找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9976|回复: 39

vmware启动器

  [复制链接]
发表于 2025-7-3 11:39:02 | 显示全部楼层 |阅读模式
本帖最后由 窄口牛 于 2026-9-1 07:52 编辑

Option Explicit
Const VMwareService1 = "VMAuthdService"
Const VMwareService2 = "VMnetDHCP"
Const VMwareService3 = "VMwareHostd"
Const VMwareService4 = "VMware NAT Service"
Const VMwareService5 = "VMUSBArbService"
Const VMwareProcess = "vmware.exe"
Dim WSHShell, objWMIService, objFSO, scriptPath, mainProcessId
If Not IsAdmin() Then
    Dim shell
    Set shell = CreateObject("Shell.Application")
    shell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """", "", "runas", 1
    WScript.Quit
End If
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
scriptPath = objFSO.GetParentFolderName(WScript.ScriptFullName)
Call StartVMwareServices()
Dim VMwarePath, objProcess
VMwarePath = scriptPath & "\VMware.exe"
If objFSO.FileExists(VMwarePath) Then
    Set objProcess = objWMIService.Get("Win32_Process")
    Dim createResult
    createResult = objProcess.Create(VMwarePath, Null, Null, mainProcessId)
    If createResult = 0 Then
        WScript.Sleep 500
        Call WaitForProcessExit(mainProcessId)
    End If
End If
Call StopVMwareServices()
WScript.Quit 0
Sub StartVMwareServices()
    On Error Resume Next
    Dim serviceList, serviceName, service, result
    serviceList = Array(VMwareService1, VMwareService2, VMwareService3, VMwareService4, VMwareService5)
    For Each serviceName In serviceList
        Set service = objWMIService.Get("Win32_Service.Name='" & serviceName & "'")
        If Err.Number = 0 Then
            If service.State <> "Running" Then
                result = service.StartService()
            End If
        End If
        Err.Clear
    Next
    On Error GoTo 0
End Sub
Sub StopVMwareServices()
    On Error Resume Next
    Dim serviceList, serviceName, service, result
    serviceList = Array(VMwareService1, VMwareService2, VMwareService3, VMwareService4, VMwareService5)
    For Each serviceName In serviceList
        Set service = objWMIService.Get("Win32_Service.Name='" & serviceName & "'")
        If Err.Number = 0 Then
            If service.State = "Running" Then
                result = service.StopService()
            End If
        End If
        Err.Clear
    Next
    On Error GoTo 0
End Sub
Sub WaitForProcessExit(processId)
    On Error Resume Next   
    Dim colProcesses, objProcess
    Set colProcesses = objWMIService.ExecNotificationQuery _
        ("SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE " & _
         "TargetInstance ISA 'Win32_Process' AND " & _
         "TargetInstance.ProcessID = " & processId)
    Set objProcess = colProcesses.NextEvent
    If Err.Number <> 0 Then
        Dim stillRunning
        stillRunning = True
        Do While stillRunning
            WScript.Sleep 1000
            Dim colRunningProcesses
            Set colRunningProcesses = objWMIService.ExecQuery _
                ("SELECT * FROM Win32_Process WHERE ProcessID = " & processId)
            If colRunningProcesses.Count = 0 Then
                stillRunning = False
            End If
        Loop
    End If
    Err.Clear
    On Error GoTo 0
End Sub
Function IsAdmin()
    Dim objShell, objFSO2, fileStream, testPath
    Set objShell = CreateObject("WScript.Shell")
    Set objFSO2 = CreateObject("Scripting.FileSystemObject")
    testPath = objShell.ExpandEnvironmentStrings("%windir%") & "\_admin_test.tmp"
    On Error Resume Next
    Set fileStream = objFSO2.CreateTextFile(testPath, True, False)
    On Error GoTo 0
    If Not objFSO2.FileExists(testPath) Then
        IsAdmin = False
    Else
        IsAdmin = True
        'objFSO2.DeleteFile testPath, True
    End If
    Set objShell = Nothing
    Set objFSO2 = Nothing
End Function




启动vmware.rar (1.22 KB, 下载次数: 91)
运行vmware前打开vmware服务,关闭之后,随即关闭其服务。

修改为提权管理员运行。

 楼主| 发表于 2025-7-26 14:02:54 | 显示全部楼层
无关新老机器,我们要和这种丝毫不考虑用户利益的流氓操作说不,它们实现这点点应该想到的事儿极其容易,但是它们就不做,统统肆无忌惮的占领我们的资源。
回复

使用道具 举报

 楼主| 发表于 2026-9-1 07:55:26 | 显示全部楼层
修复此提示错误
QQ拼音截图20260901074816.png
自动从vmware用户目录读取inventory.vmls 从中获取 VMX 文件路径,将vmx中的 vmci0.present = "TRUE" 修改为 vmci0.present = "FALSE"
修复打不开虚拟机错误.rar (1.12 KB, 下载次数: 4)
回复

使用道具 举报

发表于 2025-7-3 12:27:24 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-7-3 12:42:11 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-7-3 13:22:44 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2025-7-3 13:26:32 | 显示全部楼层
这个的具体用途是什么?
回复

使用道具 举报

 楼主| 发表于 2025-7-3 13:37:43 来自手机 | 显示全部楼层
好多软件都应该有这种启动器,关闭之后,所有进程都清理掉。
回复

使用道具 举报

发表于 2025-7-3 13:47:33 | 显示全部楼层
感谢楼主大大分享
回复

使用道具 举报

发表于 2025-7-3 13:53:37 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-7-3 14:48:40 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-7-3 15:13:27 | 显示全部楼层
好东西,如果把 服务和驱动的安装和删除加上,vmware就完全便携化了。
回复

使用道具 举报

发表于 2025-7-3 16:16:03 | 显示全部楼层
惊为天人的神作,又可以精简几个开机启动项了
回复

使用道具 举报

发表于 2025-7-3 16:23:40 | 显示全部楼层
谢谢分享,楼主大气,分享的内容就像在寒冷的冬天中递过来一个暖宝宝,心里暖暖的
回复

使用道具 举报

发表于 2025-7-3 18:11:57 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2025-7-3 19:29:43 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-7-3 21:54:57 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2025-7-3 23:37:56 | 显示全部楼层
感谢分享好东东
回复

使用道具 举报

发表于 2025-7-4 00:35:52 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-7-4 00:57:59 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-7-4 04:13:48 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-7-4 14:50:19 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-7-5 21:19:11 | 显示全部楼层
好东西,感谢分享
回复

使用道具 举报

发表于 2025-7-5 21:28:35 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-7-6 22:53:18 来自手机 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-7-7 10:26:15 | 显示全部楼层
谢谢楼主辛苦提供分享!
回复

使用道具 举报

发表于 2025-7-7 14:54:52 | 显示全部楼层
这个不错。很久前电脑配置比较差,我就是用的类似方法,虚拟机所有的服务都设置为手动,需要用的时候才打开。
回复

使用道具 举报

发表于 2025-7-9 17:11:46 | 显示全部楼层
大神威武
回复

使用道具 举报

发表于 2025-7-24 20:58:11 | 显示全部楼层
大神威武
回复

使用道具 举报

发表于 2025-7-25 22:58:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2025-7-25 23:51:42 | 显示全部楼层
对老机器非常友好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-9-13 00:33

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表