Please Help - Commandes "Send" ne sont pas exécutées Topic is solved

Poser vos questions de programmation en AutoHotkey
DeeJayOne

Please Help - Commandes "Send" ne sont pas exécutées  Topic is solved

21 Aug 2018, 17:08

Bonjour,
Je suis un Newbie.
Dans le script ci-dessous, les 2 lignes suivantes ne s’exécutent pas :


Je m'attendais à ce que la chaîne de caractères "Hello World" soit écrite et que que la bôite de dialogue soit lancée au démarrage de NotePad.

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus

A_AhkUser
Posts: 866
Joined: 06 Mar 2017, 16:18
Location: France

Re: Please Help - Commandes "Send" ne sont pas exécutées

21 Aug 2018, 20:07

- 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] [Expand] [Download] GeSHi © Codebox Plus

DeeJayOne

Re: Please Help - Commandes "Send" ne sont pas exécutées

26 Aug 2018, 08:12

Merci A_AhkUser pour ces précieuses informations.

J'ai appliqué le script à la lettre mais cela ne change rien au résultat. Toujours pas de "Hello World" écrit dans NotePad à l'ouverture et le CTRL+H n'est pas exécuté.
Le WINDOWS+SPACE, msg et btw fonctionne en revanche correctement.

Pour informations, j'utilise la version "AutoHotkey_1.1.29.01" en fichier ZIP.
Je lance le script via un fichier batch sous Windows 10 :

Code: [Select all] [Download] GeSHi © Codebox Plus

AutoHotkeyU64.exe "go_template.ahk"
exit


Le fichier de script "go_template.ahk" contient l'exemple de script.
Les 2 fichiers sont au format (UTF-8 sans BOM).
A_AhkUser
Posts: 866
Joined: 06 Mar 2017, 16:18
Location: France

Re: Please Help - Commandes "Send" ne sont pas exécutées

27 Aug 2018, 03:16

Salut DeeJayOne,

DeeJayOne wrote:J'ai appliqué le script à la lettre mais cela ne change rien au résultat. Toujours pas de "Hello World" écrit dans NotePad à l'ouverture et le CTRL+H n'est pas exécuté.


Et ce, même en essayant avec l'alternative WinWait commentée - c'est-à-dire en commentant:

Code: [Select all] [Download] GeSHi © Codebox Plus

WinWait, Sans titre - Bloc-notes

et en décommentant:

Code: [Select all] [Download] GeSHi © Codebox Plus

WinWait % "ahk_pid " . PID
?


[EDIT]

A propos, tu peux t'assurer que la commande WinWait expire en effet et que les commandes subséquentes telles le send, ^h sont exécutées en affichant les lignes récemment exécutées - par exemple à l'aide de ce hotkey:

Guest

Re: Please Help - Commandes "Send" ne sont pas exécutées

27 Aug 2018, 03:51

Ce code ne fonctionne pas.

Code: [Select all] [Download] GeSHi © Codebox Plus

WinWait, Sans titre - Bloc-notes ; (ne fonctionne pas)
; ou...
; WinWait % "ahk_pid " . PID

Mais celui-ci

Code: [Select all] [Download] GeSHi © Codebox Plus

; WinWait, Sans titre - Bloc-notes ; (ne fonctionne pas)
; ou...
WinWait % "ahk_pid " . PID

fonctionne à merveille !!!

Merci beaucoup, j'avais du oublié de tester cette possibilité.
En revanche, je n'arrive pas expliquer pourquoi "WinWait, Sans titre - Bloc-notes" ne fonctionne pas.
J'ai vérifié plusieurs fois, l'orthographe et la casse est correcte. (vérifié également dans le gestionnaire de tâches Windows)
J'ai même essayé avec des guillemets (WinWait, "Sans titre - Bloc-notes"), mais c'est sans succès.

La commande ListLines permet de vérifier tout cela, merci pour l'info !
A_AhkUser
Posts: 866
Joined: 06 Mar 2017, 16:18
Location: France

Re: Please Help - Commandes "Send" ne sont pas exécutées

30 Aug 2018, 12:34

Invité wrote:

Code: [Select all] [Download] GeSHi © Codebox Plus

; WinWait, Sans titre - Bloc-notes ; (ne fonctionne pas)
; ou...
WinWait % "ahk_pid " . PID

fonctionne à merveille !!!

Cool! :thumbup:

En revanche, je n'arrive pas expliquer pourquoi "WinWait, Sans titre - Bloc-notes" ne fonctionne pas.
J'ai vérifié plusieurs fois, l'orthographe et la casse est correcte. (vérifié également dans le gestionnaire de tâches Windows)


Si l'orthographe et la casse sont corrects, je n'ai, pour ma part, aucune explication quant au fait que ça ne fonctionne pas...
Au reste, le 'title match mode' ne peut pas être en cause ici car Sans titre - Bloc-notes, étant le titre complet, répond aux trois type de matchs proposés par SetTitleMatchMode..
Saches que tu peux aussi t'assurer d'avoir le titre exact de la fenêtre en 'inspectant avec WindowSpy, qui se trouve dans le répertoire de AHK:

Code: [Select all] [Download] GeSHi © Codebox Plus

#NoEnv
#SingleInstance force
#Warn
; Windows 8.1 64 bit - Autohotkey v1.1.29.01 32-bit Unicode

SplitPath, % A_AHKPath,, repertoireDeAHK
run % repertoireDeAHK . "\WindowSpy.ahk"


J'ai même essayé avec des guillemets (WinWait, "Sans titre - Bloc-notes"), mais c'est sans succès.


En dehors des expressions - où les guillemets doubles sont interprétées comme définissant une chaîne de caractères -, les guillemets sont signifiantes est valent pour des guillemets littérales. Compare:

Code: [Select all] [Download] GeSHi © Codebox Plus

MsgBox % "test > " . 4+7
MsgBox "test > " 4+7


La commande ListLines permet de vérifier tout cela, merci pour l'info !

pas de problèmes! ;)

Return to “J'ai besoin d'aide”

Who is online

Users browsing this forum: No registered users and 1 guest