运行具有高优先级或实时优先级的程序(是的,我已经阅读了其他线程)

Val*_*nov 5 windows priority windows-10

我正在尝试得到:

\n
start "" /high "c:\\software\\mysoftware.exe"\n
Run Code Online (Sandbox Code Playgroud)\n

或者

\n
start "" /realtime "c:\\software\\mysoftware.exe"\n
Run Code Online (Sandbox Code Playgroud)\n

在 Windows 10 上工作。我当然不能,因为通过以下线程确定:\n使用 .bat 文件启动 /realtime 但该过程仍然不是实时的

\n

然而,在其中,用户试图让程序在 Windows 启动时以高优先级启动。而我,想任意开始它。在那里,线程是通过使用任务调度器来解决的。

\n

所以我的问题是,是否可以使用类似的替代方案或解决方法,以比正常 \xe2\x80\xa6 更高的优先级任意运行软件

\n

现在我知道有很多关于此的线程,但其中大多数要么不适合用例,要么根本不起作用。就像这里的一样:\n以高优先级启动进程

\n

我试过:

\n
start "Frozen Throne" /high "C:\\Users\\Valeri\\Saved Games\\Warcraft III\\Frozen Throne.exe"\n
Run Code Online (Sandbox Code Playgroud)\n

就像第一个答案一样,它只是不起作用\xe2\x80\xa6

\n

我对以下解决方案感到好奇:\n以高优先级运行文件

\n

但是任何人都可以就我如何将类似的东西应用到我的场景中提供一些反馈吗?任何有关解决Windows 绝对错误的反馈,我们将不胜感激......

\n

编辑1: \n其中一个用户建议我使用start /b /High "c:\\software\\mysoftware.exe",我过去这样做过,但没有成功,现在又尝试了一次。发生的情况是应用程序根本没有启动,我只是在 CMD 中得到了这个:\n在此输入图像描述

\n

编辑2: \n我测试了start "" /high notepad,正如@harrymc\'s post中提到的,记事本确实以高优先级打开,但是,这个和所有其他尝试,似乎根本不起作用C:\\Users\\Valeri\\Saved Games\\Warcraft III\\Frozen Throne.exe,我想以实时或高速方式打开

\n

最终编辑和解决方案:事实证明,我毕竟没有太专心,因为 launch 会C:\\Users\\Valeri\\Saved Games\\Warcraft III\\Frozen Throne.exe自动打开war3.exe......

\n

start "" /b /High "C:\\Users\\Valeri\\Saved Games\\Warcraft III\\war3.exe"按照@DavidPostill 的推荐进行申请或

\n
Start-Process "C:\\Users\\Valeri\\Saved Games\\Warcraft III\\Frozen Throne.exe"\nGet-WmiObject Win32_process -filter \'name = "Frozen Throne.exe"\' | foreach-object { $_.SetPriority(256) }\n
Run Code Online (Sandbox Code Playgroud)\n

,正如 @Steffen S. 所推荐的,到右边的 .exe,在某些情况下可能会在初始 .exe 之后打开,解决了这个问题...感谢所有的帮助!

\n

Ste*_* S. 3

使用 PowerShell 启动应用程序后,您应该能够更改进程优先级。请注意,“实时”需要使用管理员权限运行 PowerShell 命令。如果您不这样做,优先级将被设置为“高”。

Get-WmiObject Win32_process -filter 'name = "Frozen Throne.exe"' | foreach-object { $_.SetPriority(32768) }
Run Code Online (Sandbox Code Playgroud)

因此,完整的 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) }
Run Code Online (Sandbox Code Playgroud)

参考:SetPriority方法