begin process at 2008 07 06 18:07:12
1 205 682 membres
247 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CHANGER PRIORITE PROCESSUS


Information sur la source

Catégorie :Système Classé sous : processus, priorite Niveau : Initié Date de création : 26/01/2007 Vu / téléchargé: 3 634 / 177

Note :
5,5 / 10 - par 4 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

CHANGE LA PRIORITE D'UN PROCESSUS ACTIF
ici, le programme change la priorite du processus 'explorer.exe'

Source

  • Option Explicit
  • Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  • Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
  • Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  • Sub Main()
  • Dim hProcess As Long
  • Dim svc As Object
  • Dim sQuery As String
  • Dim oproc
  • Dim valeur_priorite As Long
  • Set svc = GetObject("winmgmts:root\cimv2")
  • 'le nom du processus dont il faut changer la priorite:
  • sQuery = "select * from win32_process where name= 'explorer.exe'"
  • For Each oproc In svc.execquery(sQuery)
  • hProcess = OpenProcess(&H200, 0, oproc.ProcessId)
  • 'valeurs PRIORITES:
  • ' &h4000=normale
  • ' &h8000=normale+
  • ' &h20=normale-
  • ' &h80=haute
  • valeur_priorite = &H8000
  • SetPriorityClass hProcess, valeur_priorite
  • Next
  • End Sub
Option Explicit
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Sub Main()
Dim hProcess As Long
    Dim svc As Object
    Dim sQuery As String
    Dim oproc
    Dim valeur_priorite As Long
    
    Set svc = GetObject("winmgmts:root\cimv2")
    'le nom du processus dont il faut changer la priorite:
    sQuery = "select * from win32_process where name= 'explorer.exe'"
    For Each oproc In svc.execquery(sQuery)
    hProcess = OpenProcess(&H200, 0, oproc.ProcessId)
    'valeurs PRIORITES:
    ' &h4000=normale
    ' &h8000=normale+
    ' &h20=normale-
    ' &h80=haute
    valeur_priorite = &H8000
    SetPriorityClass hProcess, valeur_priorite
    Next
    
End Sub

Conclusion

Le programme utilise un script WMI en utilisant la classe Win32_process
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de zavier666 le 26/01/2007 19:41:21

    Cette source est parfaite...
    .... à condition de connaître les process en cours, et pour cela, il faut les énumérer comme ceci par exemple: http://www.vbfrance.com/codes/DA-ENUMPROCESSES-CODE_37227.aspx

    Slts!
    ___________________________________________________
    Toujours + de VB et d'APi => API @ la Loupe
    http://xav.prog.power.free.fr

  • signaler à un administrateur
    Commentaire de XelectroX le 26/01/2007 22:19:08

    Existe déjà !
    J'ai fait un truc du genre. Va voir pour des améliorations !
    "http://www.vbfrance.com/codes/PROCESSPRIORITY_40455.aspx"
    Bonne prog !@+

  • signaler à un administrateur
    Commentaire de azertop le 27/01/2007 18:16:11

    Le sujet est MODIFIER UN PROCESSUS ACTIF, inutile
    d'alourdir le code. Pour la liste des processus actifs
    il y a CTRL-ALT-SUPPR.

    Désolé, xelectrox mais ton prog est classé LOUCHE par
    les admin.

    a+

  • signaler à un administrateur
    Commentaire de MadM@tt le 28/01/2007 00:28:11

    Louche ne veut pas dire pas bon, sinon il aurait été supprimé.
    Le code de XelectroX a été classé "louche" car le fait de modifier la priorité des processus peut rendre le système instable. Tout comme ton code, c'est pourquoi le tiens aussi peut etre classé au meme rang que le sien.
    Bref ce bout de code n'est pas nouveau, mais je ne critique pas !
    Par contre tu pourrais mettre des constantes pour les différents niveau de priorité, et il en manque 2 : "basse" et "temps réel".
    Tu pourrais aussi eclaircir le code en faisant une fonction "SetProcessPriority", comme ça c'est beaucoup plus simple à réutiliser.

  • signaler à un administrateur
    Commentaire de azertop le 28/01/2007 12:16:01

    Le code de Xelectrox n'est pas le meme que le mien
    puisque le sien modifie la priorité du processus de son propre programme seulement alors que le mien modifie la priorite de n'importe quel processus actif. Ce n'est pas la
    meme chose.
    D'autre part, mon code est loin d'etre complet mais je
    l'ai mis juste a titre pédagogique, tout le monde ensuite
    peut rajouter ce qu'il veut.

    slt

  • signaler à un administrateur
    Commentaire de violent_ken le 28/01/2007 14:13:58

    Et la fermeture du handle ouvert avec OpenProcess, elle passe où ??

  • signaler à un administrateur
    Commentaire de MadM@tt le 28/01/2007 14:14:37

    pfff...
    Y'a peut etre une nuance, ok, mais c'est la meme chose !
    tu veux un autre exemple :
    http://www.vbfrance.com/codes/LIBRAIRIE-NOMBREUSES-FONCTIONS-POUR-AGIR-SUR-FENETRES-PROCESSUS_38829.aspx

    Ton code est loin d'etre complet, mais comme il n'est pas nouveau, donne lui au moins un plein intéret.
    Bon ce que je veux dire c'est que ta source à de l'interet dans le sens où elle est courte et donne directement ce qui est dans le titre, par contre elle n'est pas optimisée.
    C'est pourquoi je te conseille de completer la liste des priorité manquantes, de passer ça sous forme de fonction, de mettre un type pour toutes tes variables et d'éviter d'utiliser les GetObjects et tout le tralala car c'est lent. Utilise plutot les api pour trouver un processus, aide toi de la source que je t'ai passé si tu veux.

  • signaler à un administrateur
    Commentaire de MadM@tt le 28/01/2007 14:15:10

    Ah effectivement ;)

  • signaler à un administrateur
    Commentaire de MadM@tt le 28/01/2007 14:16:13

    Tiens bah regarde, voilà un peu de pub, mais un exemple d'un code court et facilement réutilisable :
    http://vbsystemlibrary.free.fr/code.php?ID=6

    (dsl pour le troll)

  • signaler à un administrateur
    Commentaire de Alain95350 le 19/01/2008 19:14:26

    merci bcp pour ce script, j en avais besoin depuis qq temps; :)
    http://fr.netlog.com/Aladin87/

Ajouter un commentaire

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS