Poppe said:
Hello and thanks for suggestions
Does anybody know how to do this from the command line?
The situation is that the users are very basic, and they don't know how to
use task manager. So i should somehow automate the process priority setting,
so they don't have to do it manually.
Maybe use vbscript or something?
You can do it with WMI.
At the command prompt you use WMIC:
wmic process where name="notepad.exe" call setpriority 16384
In a script use the Win32_Process class and the SetPriority method:
-------------------------------------------------------------
Const BELOW_NORMAL = 16384
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
objProcess.SetPriority(BELOW_NORMAL)
Next
----------------------------------------------------------------
Possible Priority class values are:
64 Idle
Specified for a process with threads that run only when the system is
idle. The threads of the process are preempted by the threads of a
process that run in a higher priority class, for example, a screen
saver. The idle-priority class is inherited by child processes.
16384 Below Normal
Indicates a process that has priority above IDLE_PRIORITY_CLASS, but
below NORMAL_PRIORITY_CLASS. For Windows 2000.
32 Normal
Specified for a process with no special scheduling needs.
32768 Above Normal
Indicates a process that has priority above NORMAL_PRIORITY_CLASS, but
below HIGH_PRIORITY_CLASS. For Windows 2000.
128 High Priority
Specified for a process that performs time-critical tasks that must be
executed immediately. The threads of the process preempt the threads of
normal or idle priority class processes. An example is the Task List,
which must respond quickly when called by the user, regardless of the
load on the operating system. Use extreme care when using the
high-priority class, because a high-priority class application can use
nearly all of the available CPU time.
256 Real Time
Specified for a process that has the highest possible priority. The
threads of the process preempt the threads of all of the other
processes, including operating system processes that perform important
tasks. For example, a real-time process that executes for more than a
very brief interval can cause disk caches not to flush or a mouse to be
unresponsive.
http://msdn.microsoft.com/en-us/library/aa394599(VS.85).aspx
WMI Tasks: Processes (Windows)
http://msdn.microsoft.com/en-us/library/aa393587(VS.85).aspx
SetPriority Method of the Win32_Process Class (Windows)
John