Results 1 to 5 of 5

Thread: process priority!!!!

  1. #1

    Thread Starter
    Member
    Join Date
    Jul 2001
    Location
    RSM
    Posts
    46

    Angry process priority!!!!

    I've some problems with setting priority process!!!

    I've found necessary API, I have used them.. but when I use SetPriorityClass, the priority doens't change correctly!!!!

    I'll be really glad if someone could help me!!

    thx

  2. #2
    jim mcnamara
    Guest
    From www.allapi.net

    Code:
    Const THREAD_BASE_PRIORITY_IDLE = -15
    Const THREAD_BASE_PRIORITY_LOWRT = 15
    Const THREAD_BASE_PRIORITY_MIN = -2
    Const THREAD_BASE_PRIORITY_MAX = 2
    Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN
    Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX
    Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1)
    Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1)
    Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE
    Const THREAD_PRIORITY_NORMAL = 0
    Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT
    Const HIGH_PRIORITY_CLASS = &H80
    Const IDLE_PRIORITY_CLASS = &H40
    Const NORMAL_PRIORITY_CLASS = &H20
    Const REALTIME_PRIORITY_CLASS = &H100
    Private Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
    Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
    Private Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As Long
    Private Declare Function GetPriorityClass Lib "kernel32" (ByVal hProcess As Long) As Long
    Private Declare Function GetCurrentThread Lib "kernel32" () As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Private Sub Form_Load()
        'KPD-Team 2000
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]
        Dim hThread As Long, hProcess As Long
        'retrieve the current thread and process
        hThread = GetCurrentThread
        hProcess = GetCurrentProcess
        'set the new thread priority to "lowest"
        SetThreadPriority hThread, THREAD_PRIORITY_LOWEST
        'set the new priority class to "idle"
        SetPriorityClass hProcess, IDLE_PRIORITY_CLASS
        'print some results
        Me.AutoRedraw = True
        Me.Print "Current Thread Priority:" + Str$(GetThreadPriority(hThread))
        Me.Print "Current Priority Class:" + Str$(GetPriorityClass(hProcess))
    End Sub

  3. #3

    Thread Starter
    Member
    Join Date
    Jul 2001
    Location
    RSM
    Posts
    46

    Unhappy thank you jim mcnamara.. but...

    I had already done like that, but when I change the priority using SetPriorityClass it change it but not correctly!!!

    For example, if the priority of a process created is IDLE and I change it into HIGH it sets the process priority to NORMAL!!!!!!!!!!

    This is my problem!!!!

  4. #4
    jim mcnamara
    Guest
    Under NT &Win2K, you have to have setpriv privilege to set priority above NORMAL. An ordinary user doens't have that privilege token.

  5. #5

    Thread Starter
    Member
    Join Date
    Jul 2001
    Location
    RSM
    Posts
    46

    but...

    .. I do have that privilege!!!!

    The problem is that the priorities don't chenge correctly!!!

    )

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width