web-dev-qa-db-fra.com

Qu'est-ce que ahk_class? Comment puis-je l'utiliser pour faire correspondre les fenêtres?

AutoHotkey Beginner Tutorial inclut un exemple de script pour illustrer les raccourcis clavier et les raccourcis clavier spécifiques aux fenêtres.

#IfWinActive ahk_class Notepad
::msg::You typed msg in Notepad
#IfWinActive

#IfWinActive untitled - Paint
::msg::You typed msg in MSPaint!
#IfWinActive

Le deuxième exemple est assez explicite: recherchez une fenêtre nommée "sans titre - Paint". C'est le premier exemple d'utilisation de ahk_class cela m'a dérouté.

Je n'ai pas pu trouver d'explication de la variable dans la documentation AHK . Selon un message du forum AHK , ahk_class est le nom d'une fenêtre donné par Windows Spy, la publication n'est pas entrée dans les détails.

Y aurait-il une différence entre l'utilisation de ahk_class Notepad et Untitled - Notepad? Le deuxième exemple fonctionnerait-il s'il était remplacé par #IfWinActive ahk_class Paint?

Qu'est-ce que ahk_class et comment puis-je l'utiliser pour faire correspondre les fenêtres?

13
Stevoisiak

De https://autohotkey.com/docs/misc/WinTitle.htm#ahk_class

Une classe de fenêtre est un ensemble d'attributs que le système utilise comme modèle pour créer une fenêtre. En d'autres termes, le nom de classe de la fenêtre identifie de quel type de fenêtre il s'agit.

En d'autres termes, vous pouvez l'utiliser pour identifier les fenêtres du même type, si vous ouvrez le bloc-notes, le titre sera Untitled - Notepad si vous l'enregistrez dans temp.txt le titre deviendra temp - Notepad. ahk_class d'autre part restera toujours Notepad.

Le deuxième exemple fonctionnera si vous le remplacez par #IfWinActive ahk_class MSPaintApp parce que c'est la classe de mspaint.

Habituellement, vous trouvez ahk_class en utilisant Window Spy puis utilisez-le dans vos scripts. Si vous n'avez pas Window Spy vous pouvez utiliser le raccourci clavier suivant:

#1::WinGetClass, Clipboard, A ; Will copy the ahk_class of the Active Window to clipboard

Une fois que vous l'avez trouvé, vous pouvez l'utiliser dans n'importe quel endroit, vous pouvez utiliser le titre de la fenêtre par exemple au lieu d'écrire WinActivate, Untitled - Notepad tu peux écrire WinActivate, ahk_class Notepad.

13
Oleg

Vérifiez cet article. Ahk_class est la classe qui vous est donnée lorsque vous utilisez l'outil WindowSpy. Cet outil doit se trouver dans le même dossier que votre exécutable AutoHotkey.

0
Mickers