-
Untitled - Notepad - il s'agit du titre de la fenêtre dans la version... anglophone du bloc-notes.
- Pour un script plus fiable, il est aussi possible d'utiliser l'identifiant unique de la fenêtre (
ID) ou du processus (
PID) considéré.
. Un
PID peut en particulier être récupéré au lancement d'un programme, lors de l'utilisation de la commande
run.
.
WinWait mets à jour la 'Last Found Window' dès lors qu'une fenêtre correspondant aux critères passés en paramètres existe ou vient à l'existence avant le temps qui lui est imparti pour ce faire. Or, dans tous les cas où, lors de l'utilisation d'une "fonction-fenêtre" ou d'une "commande-fenêtre" telle que
WinWaitActive,
WinExist etc., tous les paramètres sont omis, c'est la 'Last Found Window' qui est utilisée par défaut.
- Par ailleurs, il existe
la directive #If pour créer des hotkeys et des hotstrings sensibles au contexte.
Code: Select all
#NoEnv
#SingleInstance force
SendMode, Input
#Warn
run, notepad.exe,,, PID
WinWait, Sans titre - Bloc-notes
; ou...
; WinWait % "ahk_pid " . PID
WinActivate ; pas de paramètre: on utilise la 'Last Found Window'. Or, WinWait vient de mettre à jour la 'Last Found Window'
WinWaitActive
Send, Hello World
; ou...
; Send, {text}Hello World
Send, ^h
; ou...
; WinMenuSelectItem, % "ahk_id " . ID,, Edition, Remplacer...
; ou encore...
; WinMenuSelectItem, % "ahk_id " . ID,, 2&, 10&
return
#If WinActive("ahk_pid " PID) AND not WinExist("Remplacer") ; il est possible d'identifier une fenêtre à l'aide de plusieurs critères
#Space::
Send, ^h
WinWait, Remplacer
WinWaitActive
Send, titi
; ou...
; Send, {text}titi
return
#If
::msg::You typed msg somewhere *but not necessarily* in Notepad
#IfWinActive ahk_class Notepad
::btw::You typed btw in Notepad
#If