如何"永远" 改变windows 下程序的优先级

2024-12-19 05:49:47
推荐回答(4个)
回答1:

楼上的回答真的不知所云,估计连问题是什么都不明白。

任务管理器本身默认就是实时的,这是系统指定的。

如果你有需要指定按高级别执行的程序,可以使用 start 命令来调用,
参数有 [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]

realtime就是实时,high就是高。比如你要用高优先级执行记事本,可以在DOS窗口中打 start /high notepad

你可以把这个命令做成批处理,用批处理来启动你需要的程序。

使用start时,还是需要先用cmd.exe的。
例如:把几个运行在后台的程序设置成低于标准优先级的,修改注册表的启动项:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"NAV Agent"="cmd.exe /c \"start /belownormal C:\\PROGRA~1\\NORTON~1\\navapw32.exe\""
"CoolSwitch"="cmd.exe /c \"start /belownormal C:\\WINDOWS\\System32\\taskswitch.exe\""

回答2:

“开始→运行”的对话框大家一定接触不少吧,当我们输入“Regedit”回车,Windows就会为我们“开启”注册表编辑器,还有其它的系统工具也是直接输入文件名就可以了;而对于存储在非系统目录下的程序,虽然可以通过绝对路径来启动,不过这种方法显示繁琐许多,有没有办法让它们也享受这种系统级别的待遇?) g+ ?% S9 v8 p2 i& S
答案当然是肯定的。在揭开答案之前,笔者先向大家说说这种系统级别程序待遇的实现原因,先按下列步骤进行操作:* ^# S0 P: Y- e0 p
1.按下键盘的快捷键“Win徽标+Pause/Break”,打开“系统属性”窗口; @2 c# V: `% u b _. g: k
2.在“系统属性”窗口中点击“高级”选项卡,单击下方的“环境变量”按钮;
( Z4 ]1 c6 K% V0 F% e 3.在打开的“环境变量”对话框中的“系统变量”列表中双击“Path”项;& W* r( @0 q s1 U t
4.在弹出的“编辑系统变量”对话框查看“变量值”的文本框的值(如图所示)。

明白了吧,“运行”中之所以可以仅用程序文件名进行启动,原因就在这里:当我们在“运行”对话框输入字符后,Windows首先会在这些文件夹搜索有无对应的程序,有则启动,没有则弹出提示。实现其它程序的系统级别待遇,只需要在“Path”文本框的末尾添加上其绝对路径信息(注意用半角分号隔开)就可以了。添加完成后点击“确定”返回,以后就可以直接在“运行”文本框中输入此路径里的程序文件名就可以了(仅支持程序)。

回答3:

我给你一个Windows的解决方法。

可用VBS做到自动锁定程序优先级。
你将下面的文字复制到记事本里,并将文件保存成"进程.VBS"格式,保存的位置是开始菜单的启动项里。
这样程序随机器启动后就会没0.9秒检查一次进程,当发现kmplayer的时候就会自动将其级别调成高。

'=================================================
strComputer = "."
tempName=""
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Do While tempName=""
Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process Where Name='kmplayer.exe'")
For Each objProcess in colProcessList
If objProcess.Priority<>13 Then objProcess.SetPriority(256)
Next
WSCRIPT.SLEEP 900
Loop
'================================================

回答4:

楼主,Process Tamer不大占内存好不?最多也就是5M,你没看吗?可以开机设置优先级的,只要你把Process Tamer配置里的(CPU占用随时间而平稳度量)改为高就OK了~~~