IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Forçage de la priorité d'un processus Windows


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Par défaut [VB6] Forçage de la priorité d'un processus Windows
    Bonjour,

    Je développe sous VB6 et VBA des programmes où Excel est constamment solicité pour traiter des millions de données.

    Je me suis rendu compte que lorsque je forçais le processus Excel à avoir une priorité Haute dans le gestionnaire de tâches windows mon application était boostée (en fait, aucun ralentissement dû au partage du CPU).

    Je voudrais automatisé ce forçage, si celà est possible, mais je n'ai rien trouvé dans l'aide ni les forums.

    : Avez-vous une idée ??

  2. #2
    HPJ
    HPJ est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Par défaut
    Le plus simple est de demander sur le forum Développement Windows quelles API tu as besoin, puis reviens ici si tu ne parviens pas à les utiliser en VB.

  3. #3
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    apparament aprés un tour dans allapi.net il n'y en pas une pour effectuer ca

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Par défaut
    Bon, je passe sur le forum windows mais reviendrai si j'ai une réponse.

    A priori c'est pas gagné

    merci seddik_saber & HPJ

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 3
    Par défaut
    Re...

    Bon, j'ai rien obtenu sur le forum windows mais j'ai eu des réponses, en revanche,
    sur le forum msdn que je vous transmets au cas où qqn se pose les mêmes questions tordues que moi


    Hello,

    tu peux t'inspirer de http://support.microsoft.com/default.aspx?kbid=192986
    pour lister les process jusqu'a trouver Excel.
    Ensuite SetPriorityClass te permettra de changer la priorité.

    --
    François Picalausa


    Salut,

    Regarde du coté de SetThreadPriority :

    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: KPDTeam@Allapi.net
    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


    --
    Nicolas G

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/08/2014, 06h01
  2. Silverlight et priorité processus Windows
    Par lutecefalco dans le forum Silverlight
    Réponses: 9
    Dernier message: 29/09/2011, 11h56
  3. [VB6] : Manipulation de processus windows
    Par Actarus69 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/01/2006, 14h07
  4. [VB6] Problème contrôle Timer et boucle For-Next ...
    Par Stéphane BEHMENBURG dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/12/2005, 17h36
  5. [VB6] For Each ... In ...
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/02/2003, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo