如何以实时优先级启动可执行文件?

How to start executable with realtime priority?

所以我在 windows 8.1:

上试试这个
start /low cmd

我得到低优先级的 cmd 进程。但是当我这样做时:

start /realtime cmd

我获得了高优先级的新 cmd 进程。

有没有不用手动设置就可以获得实时的方法? 另外,我能否以某种方式从我的应用程序代码(可能是 WinApi 或其他东西)中设置所需的优先级?

当您以管理员身份执行 start 时有效。

从技术上讲,您需要管理员通常拥有的 SeIncreaseBasePriorityPrivilege。 如果您不这样做,尽管我找不到关于该事实的任何文档,但您会默默地恢复到调用帐户仍然可行的优先级。

我怀疑 Win32 是否会有帮助,因为同样的限制肯定适用。

@ECHO OFF
ECHO Setting process priority    
wmic process where name="process.exe" CALL setpriority "Realtime"

一个解决方案是按原样启动进程,然后以管理员身份运行上述批处理脚本文件。

要在没有管理员权限的情况下从 CMD 或 Process Lasso 进行实时工作,需要在以下位置进行更改:

secpol.msc > 本地策略 > 用户权限分配 > 增加调度优先级 > 属性 > 添加用户或组 > 记下 "Everyone" > 检查名称 > 确定

我需要启动 VBS 脚本的解决方案 运行 在后台设置优先级命令的 CMD,我无法以管理员身份打开 VBS 脚本。