HWND d'un Process

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 9 mai 2005 à 20:42
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 10 mai 2005 à 19:40
Bonsoir a tous,
voila je vous pose mon probleme en fait je voudrais envoyé un message à un processus lancé sur ma machine (en utiliseant SendMessage), mais pour pouvoir utiliser cette fonction il faut que je connaisse le HWND du process et moi je n'arrive qu'à obtenir son HANDLE et VS me dit qu'il est impossible de convertir.
Malgrès mes recherche, je n'ai pas trouvé de réponse à ma question, c'est pourquoi je solicite votre aide.
Merci par avance.
Bob...

"La chance accorde ses faveur aux esprits avertis..."

6 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 mai 2005 à 23:09
Tu veux le HWND d'un process? Je crois pas que ce soit possible. Un
HWND désigne une fenêtre, mais un process a en général plusieurs
fenêtres donc ce que tu veux faire n'a pas de sens (par contre on peut
obtenir un handle de process a partir d'un HWND).

Par contre tu connais peut être la classe de la fenêtre que tu
recherche, dans ce cas avec FindWindow tu peux retrouver cette fenêtre
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
10 mai 2005 à 10:35
pourrais tu me dire comment obtenir un HWND quand j'ai le HANDLE, ça résoudrait mon probleme...
Car le FindWindow ne marche pas avec le prog à qui je veux envoyer le message !
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 mai 2005 à 10:54
Tu n'a pas compris ce que j'ai dit: tu ne peux pas obtenir un HWND à
partir d'un handle, ca semble logique puisqu'en général ce HWND n'est
pas unique. Et pourquoi est-ce que FindWindow ne marche pas? Si ta
fenêtre n'est pas un Dialog tu peux la retrouver avec le nom de classe.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
10 mai 2005 à 18:50
euh c'est quoi en fait le nom de classe?
sinon je te réexplique mon probleme... en fait j'ai un programme, qui est "abcd.exe", en fait il n'est visible que dans la systray. Le seul endroit ou je le "vois" c'est dans les processus... et je voudrait lui envoyer un certain message, mais je n'y arrive pas... voila donc en gros ma question.
tu peux ptete m'aider?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 mai 2005 à 19:27
Je comprends bien ton problème. Mais ne me dis pas que tu ne sais pas
ce qu'est la classe d'une fenêtre. C'est le premier argument que tu
passe a CreateWindowEx quand tu crée un fenêtre. A mon tu l'utilise
sans même t'en rendre compte. Tu peux rechercher un fenêtre a partir de
son nom, mais aussi a partir de sa classe et je pense que ca peut
résoudre ton problème.

Je me demande aussi s'il est possible d'attacher une variable
utilisateur à un process, ca te permettrait aussi de résourdre ton
problème.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 mai 2005 à 19:40
Oublie la deuxième solution, ca n'a pas l'air d'exister. Par contre, si
tu veux éviter FindWindow, tu peux écrire le HWND dans la table
d'échanges, comme c'est fait dans cette source:

http://www.cppfrance.com/code.aspx?ID=25238
0
Rejoignez-nous