Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dire OK à une application tierce

2 réponses
Avatar
Christian
Bonjour,

J'ai un programme en vb .net qui sert à déployer des applications sur de
nombreux postes. En clair mon programme lance des programmes d'installation
en mode silencieux.
Cependant une de ces installation, pour des raisons que je ne maitrise pas
renvoie un message d'erreur (sans conséquences sur le fonctionnement de
l'appli installée), et tant que l'on a pas cliqué sur OK les installations
ne continuent pas.
Y a t-il un moyen d'automatiser le click sur la messagebox?
Je suis sur la piste des API Findwindow et sendmessage, mais ça ne semble
marcher qu'avec les fenêtres principale....
Si quelqu'un a une réponse ou un élément de réponse je lui en sera trés
reconnaissant.

Merci d'avance

Christian Cazaux

2 réponses

Avatar
Zoury
Salut Christian ! :O)

FindWindow() permet effectivement de retrouver les fenêtres principales. Il
faut employer FindWindowEx(), une fois qu'on a le handle (hWnd) de la
fenêtre principale que l'on cherche, pour trouvé la sous-fenêtre que l'on
cherche (tu peux même retrouvé le handle du bouton que tu cherches).
Ensuite, je crois que tu pourrais employer l'API SetFocus() pour donner le
focus à cette fenêtre suivi d'un appel à la méthode SendKeys.Send() pour lui
envoyé un "Enter" afin de déclencher un Click sur le bouton. Tu pourrais
également simuler un Click sur le bouton en envoyant sucessivement les
messages WM_LBUTTONDOWN (0x201) et WM_LBUTTONUP (0x202) par le biais de
l'API SendMessage().

--
Cordialement
Yanick
MVP pour Visual Basic

"Christian" a écrit dans le message de
news:
Bonjour,

J'ai un programme en vb .net qui sert à déployer des applications sur de
nombreux postes. En clair mon programme lance des programmes


d'installation
en mode silencieux.
Cependant une de ces installation, pour des raisons que je ne maitrise pas
renvoie un message d'erreur (sans conséquences sur le fonctionnement de
l'appli installée), et tant que l'on a pas cliqué sur OK les installations
ne continuent pas.
Y a t-il un moyen d'automatiser le click sur la messagebox?
Je suis sur la piste des API Findwindow et sendmessage, mais ça ne semble
marcher qu'avec les fenêtres principale....
Si quelqu'un a une réponse ou un élément de réponse je lui en sera trés
reconnaissant.

Merci d'avance

Christian Cazaux


Avatar
Christian
"Zoury" <yanick_lefebvre at hotmail dot com> wrote in
news::

Salut Christian ! :O)

FindWindow() permet effectivement de retrouver les fenêtres
principales. Il faut employer FindWindowEx(), une fois qu'on a le
handle (hWnd) de la fenêtre principale que l'on cherche, pour trouvé
la sous-fenêtre que l'on cherche (tu peux même retrouvé le handle du
bouton que tu cherches). Ensuite, je crois que tu pourrais employer
l'API SetFocus() pour donner le focus à cette fenêtre suivi d'un appel
à la méthode SendKeys.Send() pour lui envoyé un "Enter" afin de
déclencher un Click sur le bouton. Tu pourrais également simuler un
Click sur le bouton en envoyant sucessivement les messages
WM_LBUTTONDOWN (0x201) et WM_LBUTTONUP (0x202) par le biais de l'API
SendMessage().




Merci pour ton aide, en fait il s'avère que Findwindow est suffisant pour
récupérer le handle du message. Par contre j'ai pris l'option du showwindow
pour activer la fenêtre avant le sendkeys.send, et ça marche aussi.
Merci encore


Christian Cazaux