Я хочу создать сценарий AutoHotkey, чтобы изменить шрифт в клиенте PuTTY SSH. (Я предпочитаю небольшой шрифт высокой плотности информации, но когда я показываю что-то сотрудник, они должны быть в состоянии видеть это ясно.) Я получил это далеко:Использование AutoHotkey для нажатия кнопки в окне
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
#SingleInstance force ; Lets the RunMe plugin for Notepad++ reload the script with Shift-F5.
#IfWinActive ahk_class PuTTY ; If PuTTY is active
^+1:: ; and Ctrl-Shift-1 is pressed
{
Send !{Space} ; Alt-Space to open the system menu
Send g ; open Change Settings
Send !g ; select the Category menu
Send w ; select the Window category
Send {Right} ; expand the category
Send a ; select the Appearance subcategory
ControlClick, ClassNN Button8, ahk_class PuTTYConfigBox, , Left, 1
}
#IfWinActive
При запуске из окно терминала PuTTY, все через «Отправить» перемещается по меню PuTTY, как и ожидалось, доведя меня до подкатегории «Внешний вид». На этом этапе я хочу нажать кнопку «Изменить ...», чтобы установить шрифт. Я бы предпочел не отправлять кучу вкладок или указать координату экрана, чтобы выбрать кнопку; как это кажется kludgey и, вероятно, сломается с будущими обновлениями. Однако я не могу заставить ControlClick работать. Линия, которую я использовал выше, является моей лучшей предпосылкой после нескольких часов исследований, и я не понимаю, почему она ничего не делает.
Вот выход из окна Шпион, когда я зависания над кнопкой:
>>>>>>>>>>(Window Title & Class)<<<<<<<<<<<
PuTTY Reconfiguration
ahk_class PuTTYConfigBox
>>>>>>>>>>>>(Mouse Position)<<<<<<<<<<<<<
On Screen: 1051, 207 (less often used)
In Active Window: 432, 202
>>>>>>>>>(Now Under Mouse Cursor)<<<<<<<<
ClassNN: Button8
Text: Change...
Color: 0xF0F0F0 (Blue=F0 Green=F0 Red=F0)
>>>>>>>>>>(Active Window Position)<<<<<<<<<<
left: 619 top: 5 width: 456 height: 438
>>>>>>>>>>>(Status Bar Text)<<<<<<<<<<
>>>>>>>>>>>(Visible Window Text)<<<<<<<<<<<
&Apply
&Cancel
Cate&gory:
Cursor appearance:
B&lock
&Underline
&Vertical line
Cursor &blinks
Adjust the use of the cursor
Fo&nt used in the terminal window
Font: Lucida Console, 24-point
Change...
Allow selection of variable-pitch fonts
Font &quality:
Antialiased
Non-Antialiased
ClearType
Default
Font settings
Hide mouse &pointer when typing in window
Adjust the use of the mouse pointer
Gap b&etween text and window edge:
&Sunken-edge border (slightly thicker)
Adjust the window border
>>>>>>>>>>>(Hidden Window Text)<<<<<<<<<<<
>>>>(TitleMatchMode=slow Visible Text)<<<<
1
>>>>(TitleMatchMode=slow Hidden Text)<<<<
Спасибо за вашу помощь.
Появляется ли меню в новом окне? Если да, выполняйте ли команды навигации (например, «Отправить g» и т. Д.) Открывать новые окна или изменять заголовок окна? Если это так, попробуйте добавить 'WinWait' перед' ControlClick'. Выберите подходящий идентификатор (вероятно, заголовок окна в сочетании с 'ahk_class'), который найдет ** только ** окно, появившееся после последней команды (' Send a'). Надеюсь, это достаточно ясно. – MCL
Навигационные команды не могут, насколько я могу судить, открывать новые окна или изменять заголовок окна. Однако ваше предложение все равно (вместе с изменением параметров ControlClick). Благодаря! – Robert