How to call GetPriorityClass,GetThreadPriority?

  • Thread starter Thread starter joeu2004
  • Start date Start date
J

joeu2004

How can I call Get/SetPriorityClass and Get/SetThreadPriority?

At issue is the HANDLE parameter. I had hoped that I might get away
with passing a NULL pointer (ByVal 0), but it didn't work.

Public Declare Function GetPriorityClass Lib "kernel32" (ByRef pHandle
As Long) As Long
Public Declare Function GetThreadPriority Lib "kernel32" (ByRef
tHandle As Long) As Long

Private Sub getProcInfo()
Dim x As Long
x = GetPriorityClass(ByVal 0)
Debug.Print "GetPriorityClass= "; Hex(x)
x = GetThreadPriority(ByVal 0)
Debug.Print "GetThreadPriority= "; Hex(x)
End Sub
 
You have to pass in a valid handle to the function.
Null will not default to the calling thread or class.

Okay. Aha! I just discovered GetCurrentProcess() and GetCurrentThread
(). I also realized that I should pass those pseudo-handles by value,
not by reference, to GetPriorityClass() and GetThreadPriority().

With those two fixes, things are working now.

Many thanks!
 
Back
Top