Obtenir le nom de l'onglet courant

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Obtenir le nom de l'onglet courant

Re: Obtenir le nom de l'onglet courant

Post by jfm » 22 Apr 2020, 07:00

Merci pour le WinWaitActive, qui me semble plus élégant que Sleep.

Re: Obtenir le nom de l'onglet courant

Post by joedf » 21 Apr 2020, 22:28

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. :+1:

Re: Obtenir le nom de l'onglet courant

Post by jfm » 21 Apr 2020, 12:05

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
Attachments
Capture 9.JPG
Capture 9.JPG (206.07 KiB) Viewed 3065 times
Capture 8.JPG
Capture 8.JPG (210.3 KiB) Viewed 3065 times

Re: Obtenir le nom de l'onglet courant

Post by joedf » 20 Apr 2020, 15:03

Hmm... interessant... :think: Jai aucun problem ici...
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.
}

Re: Obtenir le nom de l'onglet courant

Post by jfm » 20 Apr 2020, 13:18

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.
Attachments
Capture 6.JPG
Capture 6.JPG (215.17 KiB) Viewed 3112 times

Re: Obtenir le nom de l'onglet courant

Post by joedf » 19 Apr 2020, 19:10

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. :think:

Code: Select all

ControlGet, CurrentTab, Tab,, SysTabControl321, ahk_exe cmd.exe
MsgBox Tab #%CurrentTab%
Avec ControlGet, on n'a pas besoin d'activer la fenêtre. :thumbup:

Re: Obtenir le nom de l'onglet courant

Post by jfm » 19 Apr 2020, 17:05

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.
Attachments
Capture 5.JPG
Capture 5.JPG (101.17 KiB) Viewed 3170 times

Re: Obtenir le nom de l'onglet courant

Post by jfm » 19 Apr 2020, 16:50

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 ?
Attachments
Capture 5.JPG
Capture 5.JPG (97.08 KiB) Viewed 3176 times

Re: Obtenir le nom de l'onglet courant

Post by joedf » 19 Apr 2020, 12:49

Peux-tu inspecter la fenetre avec WindowSpy? Moi j'obtiens "Tab# 5". :think:
Image

Re: Obtenir le nom de l'onglet courant

Post by jfm » 19 Apr 2020, 12:39

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#

Re: Obtenir le nom de l'onglet courant

Post by joedf » 18 Apr 2020, 23:59

Ca fonctionne pour moi. C'est quoi ton script complet? :think:

Re: Obtenir le nom de l'onglet courant

Post by jfm » 18 Apr 2020, 12:55

Merci pour la suggestion, mais le résultat est le même :-(
Cordialement.

Re: Obtenir le nom de l'onglet courant

Post by joedf » 18 Apr 2020, 10:20

Essaye ca :+1:

Code: Select all

ControlGet, CurrentTab, Tab,, SysTabControl321, ahk_exe conhost.exe
MsgBox Tab #%CurrentTab%

Obtenir le nom de l'onglet courant

Post by jfm » 18 Apr 2020, 07:18

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
Attachments
Capture.PNG
copie écran
Capture.PNG (26.15 KiB) Viewed 3391 times

Top