How to call GetPriorityClass,GetThreadPriority?

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
 
L

Leith Ross

joeu2004;272545 said:
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

Hello joeu2004,

You have to pass in a valid handle to the function. Null will not
default to the calling thread or class.


--
Leith Ross

Sincerely,
Leith Ross

'The Code Cage' (http://www.thecodecage.com/)
 
J

joeu2004

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!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top