Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    78

    [VB6] Priorità dei task

    Ciao a tutti!!!
    Qualcuno sa dirmi se esiste un modo in VB6 per poter impostare la priorità dei task?
    Grazie in anticipo.
    La cosa che serve meno è quella che funziona meglio!!

  2. #2
    usando l'api SetPriorityClass puoi impostare la priorità del processo, attenzione devi prima dare la priorità al thread con SetThreadPriority

    piccolo esempio

    codice:
    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()
        
        Dim hThread As Long
        Dim hProcess As Long
        'recupera il thread e il processo corrente
        hThread = GetCurrentThread
        hProcess = GetCurrentProcess
        'imposta la priorità del thread al minimo
        SetThreadPriority hThread, THREAD_PRIORITY_LOWEST
        'imposta la priorità del processo a idle
        SetPriorityClass hProcess, IDLE_PRIORITY_CLASS
        Me.AutoRedraw = True
        Me.Print "Current Thread Priority:" + Str$(GetThreadPriority(hThread))
        Me.Print "Current Priority Class:" + Str$(GetPriorityClass(hProcess))
    End Sub
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    78
    Grazie Infinite!
    La cosa che serve meno è quella che funziona meglio!!

  4. #4
    Originariamente inviato da mcathor
    Grazie Infinite!
    prego ma mi raccomando attenzione al thread
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.