因此,我想這在Windows 8.1中:如何以實時優先級啓動可執行文件?
start /low cmd
我也得到低優先級的CMD過程。但當我這樣做:
start /realtime cmd
我得到新的cmd進程具有高優先級。
有沒有辦法實現而不手動設置它? 另外,我可以以某種方式從我的應用程序的代碼中設置所需的優先級,也許WinApi或其他?
因此,我想這在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"
解決方法是按照原樣啓動進程,但以管理員身份運行上述批處理腳本文件。