gpt4 book ai didi

windows - 批处理文件 : start at high priority with cmd blocked

转载 作者:可可西里 更新时间:2023-11-01 10:45:48 25 4
gpt4 key购买 nike

我的目标:在不打开任务管理器的情况下以高优先级运行批处理文件。

问题是在学校 cmd.exe 被阻止(由于限制),但我可以通过 Windows 资源管理器或使用 VBScript 函数 .Run.ShellExecute。它在我使用 .Run "G:\test.bat" 而不是 .Run "cmd/c G:\test.bat" 时有效。当我在批处理文件中使用 start 函数启动另一个批处理文件时,它不起作用。在这种情况下,我收到类似于“此程序被策略阻止”的错误。当我从“开始 > 运行 > cmd”运行 cmd.exe 时出现同样的错误。

因此,当我从 VBScript 运行批处理文件时,Windows 无法检测到它正在使用被阻止的 cmd。请问有没有VBScript函数可以高优先级启动程序。也许它将使用另一种文件扩展名和另一种语言。或者,如果您有其他想法,请将其发布。

最佳答案

您应该能够使用 WMI 来完成此操作。您需要使用 Win32_ProcessStartupWin32_Process一起上课定义启动参数并运行批处理文件。使用 Win32_ProcessStartup 类的 PriorityClass 属性为生成的进程指定优先级。

Const PRIORITY_CLASS_HIGH = 128

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")

Set objConfig = objStartup.SpawnInstance_
objConfig.PriorityClass = PRIORITY_CLASS_HIGH

Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
objProcess.Create "G:\test.bat", null, objConfig, intProcessID

关于windows - 批处理文件 : start at high priority with cmd blocked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26536493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com