Bonjour,
J'ai besoin de connaitre le nom ou le numéro de l'onglet courant de la boîte de dialogue des propriétés de la fenêtre CMD.
En utilisant les lignes suivantes, la variable CurrentTab est toujours vide (cf. pièce jointe).
^j::
GuiControlGet, CurrentTab,, TabNumber
MsgBox value=%CurrentTab%
Merci de votre aide.
Cordialement,
Jean-François
Obtenir le nom de l'onglet courant
Obtenir le nom de l'onglet courant
- Attachments
-
- copie écran
- Capture.PNG (26.15 KiB) Viewed 3543 times
Re: Obtenir le nom de l'onglet courant
Essaye ca
Code: Select all
ControlGet, CurrentTab, Tab,, SysTabControl321, ahk_exe conhost.exe
MsgBox Tab #%CurrentTab%
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
Re: Obtenir le nom de l'onglet courant
Merci pour la suggestion, mais le résultat est le même
Cordialement.
Cordialement.
Re: Obtenir le nom de l'onglet courant
Ca fonctionne pour moi. C'est quoi ton script complet?
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
Re: Obtenir le nom de l'onglet courant
Pour le moment juste les deux lignes en question (que tu proposes), précédées soit
de Sendinput !{space}{p} si je lance l'exe depuis la ligne de commandes de la fenêtre CMD
soit de ^j:: si je j'ouvre manuellement les propriétés de la fenêtre CMD et que je lance ensuite l'exe via Ctrl+J
ControlGet, CurrentTab, Tab,, SysTabControl321, ahk_exe conhost.exe
MsgBox Tab #%CurrentTab%
Résultat idem à la copie d'écran initiale, sauf que value= est remplacé par Tab#
de Sendinput !{space}{p} si je lance l'exe depuis la ligne de commandes de la fenêtre CMD
soit de ^j:: si je j'ouvre manuellement les propriétés de la fenêtre CMD et que je lance ensuite l'exe via Ctrl+J
ControlGet, CurrentTab, Tab,, SysTabControl321, ahk_exe conhost.exe
MsgBox Tab #%CurrentTab%
Résultat idem à la copie d'écran initiale, sauf que value= est remplacé par Tab#
Re: Obtenir le nom de l'onglet courant
Peux-tu inspecter la fenetre avec WindowSpy? Moi j'obtiens "Tab# 5".
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
Re: Obtenir le nom de l'onglet courant
Voici donc une copie d'écran (en pièce jointe)
Ton script ne contient-il aussi que ces deux seules lignes, ou faut-il commencer par activer formellement (avec une commande AHK) la boîte de dialogue des propriétés de la fenêtre CMD ?
Ton script ne contient-il aussi que ces deux seules lignes, ou faut-il commencer par activer formellement (avec une commande AHK) la boîte de dialogue des propriétés de la fenêtre CMD ?
- Attachments
-
- Capture 5.JPG (97.08 KiB) Viewed 3328 times
Re: Obtenir le nom de l'onglet courant
Désolé pour la copie d'écran précédent (le focus était sur le bouton OK de la boîte de message).
La revoici donc avec le focus sur le premier onglet.
La revoici donc avec le focus sur le premier onglet.
- Attachments
-
- Capture 5.JPG (101.17 KiB) Viewed 3322 times
Re: Obtenir le nom de l'onglet courant
Il me semble que si vous êtes sur windows XP,7,8 mais non windows 10. Il faut changer le wintitle de ahk_exe conhost.exe à ahk_exe cmd.exe.
Avec ControlGet, on n'a pas besoin d'activer la fenêtre.
Code: Select all
ControlGet, CurrentTab, Tab,, SysTabControl321, ahk_exe cmd.exe
MsgBox Tab #%CurrentTab%
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
Re: Obtenir le nom de l'onglet courant
Je viens de refaire l'essai sur un PC W10 (avec ahk_exe conhost.exe) (cf copie d'écran), avec toujours le même résultat.
Entre temps j'ai aussi refait l'essai sur XP (virtual box) (avec ahk_exe cmd.exe), avec toujours le même résultat.
Entre temps j'ai aussi refait l'essai sur XP (virtual box) (avec ahk_exe cmd.exe), avec toujours le même résultat.
- Attachments
-
- Capture 6.JPG (215.17 KiB) Viewed 3264 times
Re: Obtenir le nom de l'onglet courant
Hmm... interessant... Jai aucun problem ici...
AutoHotkey v1.1.32.00 Unicode 64-bit sur Windows 10
Un test?
AutoHotkey v1.1.32.00 Unicode 64-bit sur Windows 10
Un test?
Code: Select all
SetTitleMatchMode, 2
CONHOST_EXE := "conhost.exe"
if A_OSVersion in WIN_NT4,WIN_95,WIN_98,WIN_ME,WIN_7,WIN_8,WIN_8.1,WIN_VISTA,WIN_2003,WIN_XP,WIN_2000
CONHOST_EXE := "cmd.exe"
hwnd := WinExist("ahk_exe " CONHOST_EXE)
if (hwnd > 0) {
ControlGet, CurrentTab, Tab,, SysTabControl321, ahk_id %hwnd%
MsgBox Tab #%CurrentTab%
} else {
Msgbox Erreur de détection.
}
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
Re: Obtenir le nom de l'onglet courant
En utilisant Sendinput !{space}{p} pour ouvrir les propriétés de la fenêtre CMD (c'est ce dont j'ai besoin), je suis obligé d'ajouter un retardement (Sleep, 100) pour que cela fonctionne (voir copies d'écran). Sinon il semble que WinExist n'attaque pas le bon élément.
Galerare humanum est...
Merci pour ton aide. Je vais conserver les lignes que tu proposes et qui me semblent excellentes.
Bonne semaine
Jean-François
Galerare humanum est...
Merci pour ton aide. Je vais conserver les lignes que tu proposes et qui me semblent excellentes.
Bonne semaine
Jean-François
- Attachments
-
- Capture 9.JPG (206.07 KiB) Viewed 3217 times
-
- Capture 8.JPG (210.3 KiB) Viewed 3217 times
Re: Obtenir le nom de l'onglet courant
Ahhhh la je comprends. Je démarrais le script avec la fenêtre déjà affichée...
Dans ce cas, Sleep fonctionne bien, mais WinWaitActive serai une autre option sensible.
Dans ce cas, Sleep fonctionne bien, mais WinWaitActive serai une autre option sensible.
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
Re: Obtenir le nom de l'onglet courant
Merci pour le WinWaitActive, qui me semble plus élégant que Sleep.
Return to “J'ai besoin d'aide”
Who is online
Users browsing this forum: No registered users and 3 guests