You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用VBScript无命令提示符窗口带优先级启动exe程序

问题原因

你当前代码调用了cmd /c嵌套start命令,start默认的窗口创建逻辑会绕过WScript.Shell.Run第二个参数的隐藏配置,所以才会弹出命令提示符窗口。

修复方案1(修改现有代码)

给start命令补充/b参数(作用是启动程序时不创建新的命令窗口),修改后代码如下:

Dim WShell
Set WShell = CreateObject("WScript.Shell")
WShell.Run "cmd /c Start /b /belowNormal " & "C:\Users\Desktop\sonso.exe -uri www.google.de",0
Set WShell = Nothing

修复方案2(更稳定的无弹窗方案,无需调用cmd)

直接通过WMI创建进程并设置优先级,完全避免命令行窗口弹出的可能,代码如下:

Const BELOW_NORMAL_PRIORITY = 16384
Dim objWMIService, objStartup, objProcess, intProcessID

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.PriorityClass = BELOW_NORMAL_PRIORITY
objConfig.ShowWindow = 0 ' 隐藏窗口

Set objProcess = GetObject("winmgmts:Win32_Process")
objProcess.Create "C:\Users\Desktop\sonso.exe -uri www.google.de", Null, objConfig, intProcessID

内容的提问来源于stack exchange,提问作者meno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:09:03