2016-10-11 1 views
-1

Я пытаюсь установить заголовок окна в каждом окне, которое встречается с регулярным выражением с использованием AHK.AHK установить заголовок окна, если он содержит

settitlematchmode regex 

ifwinexist, Title 
{ 
WinSetTitle, New Title 
} 
+0

И это не работает? Можете ли вы предоставить более подробную информацию и особенности по вашему вопросу? – BrianAtkins

ответ

0

WinGet .. также может получить список всех окон, соответствующих указанным критериям (WinTitle, WinText).

F1:: 
SetTitleMatchMode, regex 
WinGet, id, list, Title 
Loop, %id% 
{ 
    this_ID := id%A_Index% 
    WinSetTitle, ahk_id %this_ID%,, New Title 
} 
return 

EDIT:

ahk_id используется для идентификации окна на основе покинуть окна уникальный идентификатор (HWND).

Чтобы получить (точное) название этого окна используйте:

F1:: 
SetTitleMatchMode, regex 
WinGet, id, list, Title 
Loop, %id% 
{ 
    this_ID := id%A_Index% 
    WinGetTitle, exact_title, ahk_id %this_ID% 
     MsgBox, %exact_title%  
    WinSetTitle, ahk_id %this_ID%,, New Title 
} 
return 
+0

Спасибо! Но что-то не так получилось с ahk_id% this_ID%. – kosmal

+0

msgbox, ahk_id% this_ID% возвращает: "ahk_id 0xd06f6" – kosmal

+0

Что такое «ahk_id 0xd06f6»? Чтобы проверить приведенный выше код, замените «Title» на «Editor» и откройте два или более окна «Блокнот», чтобы изменить заголовок в «New Title» («Работает для меня»). – user3419297