更改第一个匹配进程的优先级.
ProcessSetPriority Level , PIDOrName
类型: 字符串
指定下列单词或字母的其中一个:
请注意, 如果将任何没有设计为实时优先级运行的进程设置为该级别, 则可能会降低系统稳定性.
如果未设置或省略, 则使用脚本自己的进程. 否则, 请指定一个数字(PID) 或进程名:
PID: 进程 ID, 唯一标识一个特定进程的数字(只有在此进程的生存期这个数字才有意义). 新运行的进程的 PID 可以通过 Run 函数获取. 同样的, 窗口的 PID 可以通过 WinGetPID 获取. ProcessExist 也可以用来获取 PID.
Name: 进程的名称, 通常和它的可执行文件名相同(不带路径), 例如 notepad.exe 或 winword.exe. 由于一个名称可能与多个正在运行的进程匹配, 因此将仅对第一个进程进行操作. 名称不区分大小写.
类型: 整数
此函数返回指定进程的进程 ID(PID). 如果没有找到匹配的进程或无法对其操作, 则返回 0.
进程的当前优先级可以在 Windows 任务管理器中看到.
启动记事本, 将其优先级设置为高, 并显示其当前的 PID.
Run "notepad.exe", , , &NewPID ProcessSetPriority "High", NewPID MsgBox "The newly launched Notepad's PID is " NewPID
#z:: ; Win+Z 热键 { active_pid := WinGetPID("A") active_title := WinGetTitle("A") MyGui := Gui(, "Set Priority") MyGui.Add("Text",, " ( Press Escape to cancel, or double-click a new priority level for the following window: )") MyGui.Add("Text", "wp", active_title) LB := MyGui.Add("ListBox", "r5 Choose1", ["Normal","High","Low","BelowNormal","AboveNormal"]) LB.OnEvent("DoubleClick", SetPriority) MyGui.Add("Button", "default", "OK").OnEvent("Click", SetPriority) MyGui.OnEvent("Escape", (*) => MyGui.Destroy()) MyGui.OnEvent("Close", (*) => MyGui.Destroy()) MyGui.Show() SetPriority(*) { MyGui.Destroy() if ProcessSetPriority(LB.Text, active_pid) MsgBox "Success: Its priority was changed to '" LB.Text "'." else MsgBox "Error: Its priority could not be changed to '" LB.Text "'." } }