begin process at 2012 02 16 09:01:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > CHANGER PRIORITE PROCESSUS

CHANGER PRIORITE PROCESSUS


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Classé sous :processus, priorite Niveau :Initié Date de création :26/01/2007 Vu / téléchargé :6 415 / 245

Auteur : azertop

Ecrire un message privé
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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture AUTORISER/REFUSER L'EXECUTION DE PROCESSUS par pierreh51
Source avec Zip Source .NET (Dotnet) CLONE/FORK DES FLUX DE LA CONSOLE : PERMETTRE LA REDIRECTION... par ShareVB
Source avec Zip Source .NET (Dotnet) DÉFRAGMENTER UN FICHIER par ShareVB
Source avec Zip Source .NET (Dotnet) ECRAN DE VEILLE : DÉTECTER LE LANCEMENT/DÉCLENCHER/EMPÊCHER par ShareVB
Source avec Zip Source avec une capture DESACTIVER / ACTIVER LES MISES EN VEILLES PC par Arsena

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture AUTORISER/REFUSER L'EXECUTION DE PROCESSUS par pierreh51
Source avec Zip Source .NET (Dotnet) LA LISTE DES TÂCHES COMME DANS L'ONGLET APPLICATION DU GESTI... par ShareVB
Source avec Zip FERMER UN PROGRAMME OU UN PROCESSUS par 123collargol
Source avec Zip Source .NET (Dotnet) AUTOMATISER LA SAISIE DE CLÉES CD EN RÉCUPERANT LE NOM DU PR... par cracken3544
Source avec Zip Source .NET (Dotnet) COMMUNICATION INTER PROCESSUS DLL par Ant95

Commentaires et avis

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

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 !@+

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+

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.

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

Commentaire de violent_ken le 28/01/2007 14:13:58

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

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.

Commentaire de MadM@tt le 28/01/2007 14:15:10

Ah effectivement ;)

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)

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


Discussions en rapport avec ce code source dans le forum

Limiter le nombre de processus [ par Adrien ] à partir d'une liste d'adresses IP, je lance des batchs sur chacune des adresses mais le lancement en shell("batch.bat") m'ouvre les process "cmd" en Dialogue entre processus [ par Hawk ] 'lut! J'aimerais savoir comment envoyer un message entre deux processus ( j'ai un processus maître qui crée x fils, les fils doivent retourner des inf Processus : Urgent !! [ par Lead ] Salut a tous, je recherche le moyen d'obtenir les noms internes des processus en court (La liste du Ctrl Alt Suprr), pas la liste des noms des executa Les fonctions sur les processus ! [ par seyev ] Salut à tous !Je crée un nouveau processus avec CreateProcess() et je récupère les différentes info par le dernier paramètre (dont l'id et le handle)M Processus, c'est possible de les "pauser" ???????????? Aidez moi [ par Cyberdevil ] Hello,Je fais comment pour faire une pause dans le système,c'est à dire que tout le programme en chargement ou en exécution soit "pauser" donc d'inter Recherche le nom d'une fonction [ par eltaris ] Je cherche une fonction (qui existe, je le sais) qui interrompt le processus en cours pendant un court instantpour que puissent s'exécuter d'autres pr Tjrs, Tjrs Histoire de processus [ par Cyberdevil ] Hello,J'ai une question a propos de vb, est ce que c'est possible de "pauser" tous les processus en cours puis de les relancer en faite ce que je veu [?]KILL Processus excel.exe ??? [ par Steph73 ] Bonjour,mon appli met à jours des tableaux sous excel. Mais si le fichier en question est déjà ouvert, ça plante! Je souhaite donc KILLER tout process comment tester si word est ouvert ? [ par xavier ] je voudrais tester si word est ouvertd'autre part est ce que qqun sait comment avoir accès aux processus en cours et si on peut terminer un processus comment engager plusieurs processus simultanés ? [ par Ouneufe ] Salut,Suis bien incapable de trouver quelle est la procédure pour exécuter plusieurs tâches en parallèle et échapper à une éxécution linéaire ?Quelqu'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,746 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales