Question

Je veux attendre et fermer un formulaire modal (un pop-up) d'une autre application, dès qu'il apparaît. Je veux faire de VB.NET, mais les suggestions en C # doit être facilement traduisible.

Je peux coder en dur la légende de la fenêtre contextuelle modale dans mon application, car il est long et unique. Ce que je veux faire est soit le simulent utilisateur en cliquant sur le bouton de fermeture ( « X ») sur la forme, ou un clic sur le defeault, onglet ordre 0 bouton du formulaire. Soit fonctionnerait.

Peut-être que j'ai besoin plus d'informations sur la fenêtre contextuelle modale autre que la légende de la barre de titre? Dans tous les cas, il est sûr de l'utiliser comme un identifiant unique de cette forme modale. Je veux aussi que le code pour terminer la vérification dès le premier événement de fermeture le menu contextuel qui se passe.

Je crois qu'il est trivial, mais je ne peux trouver aucune information sur ce prêt. Microsoft dit que je ne devrais pas envoyer WM_CLOSE à la fenêtre contextuelle modale, car il appellera DestroyWindow () au lieu de EndDialog () , mais pour être honnête, je ne sais même pas ce que "envoi WM_CLOSE" à la "fenêtre" signifie = /

Merci de partager un peu de gourou-ness! : D

P.S .: Cela peut être trivial dans AutoHotkey. Je me sens boiteux sans le savoir, Je sais que je besoin .

Était-ce utile?

La solution

IntPtr handle = FindWindow(null, "Dialog_Title");
SendMessage(handle, WM_NCDESTROY, 0, 0);

Cela devrait fermer la boîte de dialogue

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top