Est-ce que quelqu'un connaît une application qui fermerait une fenêtre compte tenu de son handle? La ligne de commande est bonne.
Notez que je ne souhaite pas tuer l'application respective, mais plutôt une fenêtre modale appartenant à cette application.
Raisonnement:
Parfois, une boîte de dialogue modale s'ouvre sous la fenêtre principale de mon ordinateur portable. Ce n'est pas arrivé une fois pour VS et Firefox. Très ennuyant.
Je peux localiser la fenêtre avec Spy ++, mais je n’ai aucun moyen de la tuer.
MODIFIER:
Une application permettant d’envoyer des messages à une fenêtre arbitraire est également utile. Je suppose que je peux alors envoyer quelque chose comme WM_CLOSE ou autre.
MODIFIER:
Je tiens à souligner que je ne suis pas intéressé par la fermeture d’une fenêtre visible. Le but est de traiter les anomalies abominables lorsqu'un dialogue modal s'ouvre sous la fenêtre propriétaire, ce qui s'est produit et pas une seule fois pour moi lorsque je travaillais avec VS et Firefox. La solution souhaitée consiste donc à fermer une fenêtre par sa poignée ou, si elle peut localiser spécifiquement des fenêtres masquées, et à les afficher.
Réponses:
D'accord, j'ai créé une petite application qui fait l'affaire.
Vous pouvez le télécharger ici .
Usage:
Il envoie un wm_close à la fenêtre sous le curseur de la souris.
Code Delphi ci-dessous ...
la source
J'ai pris cela comme une excuse pour essayer Win32API pour Ruby.
En utilisant cela, vous pouvez fermer un bloc-notes frais avec
ou si vous connaissez le manche
la source
Voici un script Perl pour le faire:
Et voici quelques animations utilisant un tel script (veuillez ne pas considérer ce spam, je suis juste en train d’illustrer une utilisation de Perl Win32 :: GuiTest : http://www.youtube.com/watch?v=BAg7K_uwNZs
la source
Ce serait incroyablement simple à cuisiner pour vous-même. Je vois que vous avez rejeté Perl. Quelle est votre langue préférée?
Voici un exemple simple en C (non testé, allant de mémoire):
Voici un exemple simple en C # (encore une fois, non testé):
la source
GetWindowRgn
etFrameRgn
. Il existe d'autres fonctions de l'API qui vous donneront toutes les informations sur la fenêtre que vous recherchez. EtSetWindowPos
peut être utilisé pour amener la boîte de dialogue cible au sommet de l'ordre Z afin que vous puissiez la voir et interagir avec elle au lieu de la fermer.presse Alt + Esc pour envoyer la fenêtre de premier plan actuelle à l'arrière. Continuez à appuyer jusqu'à ce que vous veniez à la boîte de dialogue. Cela passera par les fenêtres même pas dans le Alt + Languette liste.
la source
Donc, cette réponse implique le téléchargement d'un script gratuit LINQPad pour exécuter le script puis l'exécuter. exécutez-le et il vous demandera de placer votre curseur sur la fenêtre que vous souhaitez fermer. Il interroge cette fenêtre pour le titre, vous le montre, puis vous demande si vous souhaitez le fermer.
la source