我正在尝试获取:
start "" /high "c:\software\mysoftware.exe"
或者
start "" /realtime "c:\software\mysoftware.exe"
在 Windows 10 上工作。我当然不能,通过以下线程确定: 使用 .bat 文件启动 /realtime,但进程仍然不是实时的
但是,在其中,用户试图让程序在 Windows 启动时以高优先级启动。而我想任意启动它。在那里,线程问题通过使用任务计划程序得到解决。
所以我的问题是,是否可以使用类似的替代方案或解决方法,以比正常情况下更高的优先级任意运行软件……
现在我知道有很多关于此问题的讨论,但大多数要么不适合用例,要么根本不起作用。就像这里的一个: 以高优先级启动进程
我试过:
start "Frozen Throne" /high "C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe"
就像第一个答案一样,它根本不起作用……
我对以下解决方案很好奇: 运行具有高优先级的文件
但是,有人能给我一些反馈吗,关于我如何将类似的东西应用到我的场景中?任何关于解决Windows 中这个绝对错误的反馈,都将不胜感激……
编辑1:
有一位用户建议我使用start /b /High "c:\software\mysoftware.exe"
,我以前也这么做过,但无济于事,刚才又试了一次。结果应用程序根本无法启动,我在 CMD 中只看到这个:
编辑2:
我测试了start "" /high notepad
,正如@harrymc 的帖子中提到的那样,记事本确实以高优先级打开,但是,这个和所有其他尝试似乎对 都不起作用C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe
,我想以实时或高优先级打开
最终编辑和解决方案:事实证明,我毕竟没有太注意,因为启动时C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe
会自动打开war3.exe
......
start "" /b /High "C:\Users\Valeri\Saved Games\Warcraft III\war3.exe"
按照@DavidPostill 的建议申请或
Start-Process "C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe"
Get-WmiObject Win32_process -filter 'name = "Frozen Throne.exe"' | foreach-object { $_.SetPriority(256) }
,正如@Steffen S. 所建议的那样,正确的 .exe,在某些情况下可能会在初始 .exe 之后打开,解决了这个问题...感谢所有的帮助!
答案1
使用 PowerShell 启动应用程序后,您应该能够更改进程优先级。请注意,“实时”需要使用管理员权限运行 PowerShell 命令。如果您不这样做,优先级将设置为“高”。
Get-WmiObject Win32_process -filter 'name = "Frozen Throne.exe"' | foreach-object { $_.SetPriority(32768) }
因此完整的 ps1 文件可能如下所示:
Start-Process "C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe"
Get-WmiObject Win32_process -filter 'name = "Frozen Throne.exe"' | foreach-object { $_.SetPriority(256) }
答案2
答案3
经过反复测试,对于包括游戏在内的所有类型进程(“启动”方法不起作用),最简单的解决方案是使用“进程黑客”,并在更改优先级后保存它……简单而有效!