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);
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
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
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.
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 ?
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.
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
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]