kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 2013
-
8 avril 2007 à 12:08
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 2013
-
9 avril 2007 à 02:08
Bonjour
je voudrais recuperer le handle d'un processus active ex :explorer.exe
jai deja un code similaire mais il trouve que le PID a partir du processus
#include <windows.h>
#include <tlhelp32.h> //th32.lib ou libth32.a
#include <stdio.h>
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 8 avril 2007 à 13:31
La fonction GetPidByName() mentionnée dans ton code permet de trouver le PID d'un processus à partir de son nom. Elle te retournera le PID correspondant au nom de processus donné en paramètre. OpenProcess() retrouve le HANDLE depuis le PID:
DWORD dwPID=GetPidByName("explorer.exe");
HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0,dwPID);
//...
CloseHandle(hProcess);
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 20131 8 avril 2007 à 14:40
Merci pour tes reponse tres rapide mais je suis vraiment debutant le code vient pas de moi.
le but rechercher serait de cacher l'explorateur (explorer.exe) puis l'afficher et aussi modifier les titre des fenetre de msn ,iexplorer,ect... via le processus. avec cette commande ShowWindow(hWnd, SW_SHOW);
moi voila je susi bloquer je narrive pas a utiliser la commande OpenProcess
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 20131 8 avril 2007 à 14:44
Pour avoir le HANDLE du processus apres pour faire ceci
HWND hWnd = FindWindow(0,"notepad.exe");//ceci ne marche pas
SetWindowText(hWnd, "lenouveautitre.");//le nouveau titre
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 8 avril 2007 à 16:08
FindWindow() prend le texte affiché sur la barre de titre comme 2ème paramètre. On ne peut pas lui passer le nom du processus. Il est préférable d'utiliser le 1er paramètre qui est le nom de la classe de fenêtre:
HWND hwndNotepad=FindWindow("notepad",0);
SetWindowText(hwndNotepad,"Nouveau titre");
Pour une fenêtre de l'explorateur, le nom de la classe est CabinetWClass.
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 20131 8 avril 2007 à 17:49
Je me suis mal expliquer dsl
jaimerais lister les fenetre utiliser par un processus exemple msn Messenger
puis recuperer les HANDLE des fenetre pour les modifier ect...
On peut utiliser la commande FindWindow(0,"*MSN"): un truc dans le genre qui permet de prendre tout les fentre commancent par MSN ?
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 8 avril 2007 à 19:06
Une fois tu as le PID d'un processus, tu énuméreras toutes les fenêtres du bureau avec FindWindowEx(). Avec GetWindowThreadProcessId() tu obtiens le PID du processus associé à chaque fenêtre. Si égal au premier PID alors la fenêtre appartient au processus voulu.
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 20131 8 avril 2007 à 19:50
Merci de mavoir atant aider pourais tu me montrer un exemple avec le PID numero 972
et lister les fenetre stp apres comme sa je pourais faire un tuto sur les gestion des fenetre
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 20131 8 avril 2007 à 21:34
MERCI BEAUCOUP
comment puige faire pour mettre la variable GetPidByName en processid pour
pour remplacer 972 par GetPidByName("monprograme.exe");
(sa veut la peine que je poste de code en tant que source car je trouve quel et interessent)
MERCI BEAUCOUP [auteurdetail.aspx?ID=295159 racpp]