Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3842 connectés 

 


Dernière réponse
Sujet : [VC++] passer d'un PID a un HWND ??
El_gringo ouais, ou, si t en C++, tu déclares simplement ce truc en dehors de la définition de ta classe... c comme ça ! Le compilateur l'a décidé ainsi. Et, c admis pour tous, au pays de la programmation, le compilateur est roi (celui qui est pas d'accord lève le doigt)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
El_gringo ouais, ou, si t en C++, tu déclares simplement ce truc en dehors de la définition de ta classe... c comme ça ! Le compilateur l'a décidé ainsi. Et, c admis pour tous, au pays de la programmation, le compilateur est roi (celui qui est pas d'accord lève le doigt)
Kouye MAJ
 
oué j'ai trouvé :)
 
en fait dans mon .h je devais déclarer ma fonction :
protected:
static BOOL CALLBACK EnumThreadWndProc(HWND hwnd, LPARAM lParam)
Kouye Décidément j'ai bcp de mal :(
 
j'appelle ceci :
EnumThreadWindows( pEntry.th32ProcessID , EnumThreadWndProc, NULL);
 
sachant que j'ai déclaré dans mon .h :
BOOL CALLBACK EnumThreadWndProc(HWND hwnd, LPARAM lParam)
mais je capte pas .. il me dit :
'EnumThreadWindows' : cannot convert parameter 2 from 'int (struct HWND__ *,long)' to 'int (__stdcall *)(struct HWND__ *,long)'
El_gringo ...même que, si j'me permettais, j'te conseillerai d'utiliser plutot EnumWindowProc
Kouye lol merci je vais réessayer comme ça alors :)
 
sinon j'ai trouvé une calsse EnumWinModules qui me permet de récupérer tout ce que je veux :))
 
merci :)
El_gringo Alors...
déja, tu peux pas faire un send message à un thread, parce que sendmessage (ou postmessage) c pour envoyer des messages à une fenêtre. D'ailleur ça prend un HWND (qui est une abréviation de Handle Window je pense). En fait ce dont tu as besoin, c de récupérer le Handle du process. ça, tu dois pouvoir le faire avec la fonction que je t'ai donnée au dessus. Avec ce Handle, t'utilises la fonction TerminateProcess.
 
Voila... et encore un truc : tu peux trouver plein de choses avec la msdn, en allant dans l'onglet Sommaire, puis SDL platform-->Reference :D.
Kouye bon je réexplike e nun peu plus clairement ce que je veux faire :
 
je cherche paris tous les process celui done l'exe correspontra a tel programme :
par exmeple je cherche a fermer icq le nom de l'exe est Icq.exe .. et je cherche le process qui correspond, là j erécupère le PID.. et j'aimerai terminer ce process.
pour cela j'ai la fonction POSTMESSAGE qui nécéssite un HWND et un MSG WM_CLOSE.
mais je n'arrive pas a trouver le HWND d'un process ou Le HWND des fenetre enfant de ce process (si je m'embrouille pas avec les noms).
 
voila :)
El_gringo Et puis sinon, si g compris ce que tu veux, essaye avec OpenProcess, en mettant le flag d'accès à PROCESS_DUP_HANDLE. Ou une autre flag d'ailleur, peut être PROCESS_ALL_ACCESS, regardes.

 

[edtdd]--Message édité par El_Gringo--[/edtdd]

El_gringo En tout cas, niveau sur le plan de l'incompréensibilité, c nickel... si tu veux parler façon expert, soit précis dans tes mots, et fais gaffe ... à mon avis, tu devrais te relire !
Kouye voila .. j'ai fait un prog qui scan tous les process actifs .. et j'aimerai leur envoyer un WM_message (pour fermer un programme).
pour envoyer un WM_ j'ai besoin d'un HND vers la fenetre en question.. comment faire pour passer de mon PID a mon HWNM (ou celui des fenetres qui viennet de ce process)
je suis perdu .. j'ai cherché sur CodeGurru et dans la MSDN et je trouve pas  :cry:  
 
merci de me dire ce que vous en pensez.
 
ps: cela fait pas longtemps que je fais du VC++.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)