Сценарий Autohotkey для выхода из окна VMWare
Чтобы выйти из окна консоли VMWare в моей системе XP, мне необходимо:
- Нажмите обе клавиши Shift
- Нажмите Cntrl-Alt
Кто-нибудь знает, как я могу это сделать в Autohotkey?
- AutoHotkey (клавиатура ЕС): как переназначить LCtrl при сохранении AltGr
- Эквивалент AutoHotKey на Mac
- Autohotkey имитирует блокировку прокрутки дважды
- Autohotkey: Как заставить команду действовать в качестве ключа?
- Переключить Ctrl и Alt с помощью AutoHotKey без использования переключателя Alt-Tab?
- Есть ли способ создать пользовательскую горячую клавишу в Windows, которая закроет текущее окно или под-окно?
- Почему блокнот ++ блокирует мои ярлыки autohotkey?
- Добавление разрывов строк к строкам, которые входят в буфер обмена
- Autohotkey - Координаты движения мыши немного выключены
- Используйте трекбол для прокрутки, масштабирования и т. Д.
- Как настроить AutoHotKey для Win-Tab вместо Alt-Tab
- Последовательность клавиш Autohotkey `1
- Повторная настройка программного обеспечения Logitech SetPoint
Ответ Рассела дает вам большой кусок пути, использующего RDP в качестве примера. Намного сложнее обнаружить, что вы находитесь в консоли vsphere / vmware, но можете сделать это ниже. Я прокомментировал изменения / дополнения
#UseHook #SingleInstance force ; A window's title can contain WinTitle anywhere inside it to be a match SetTitleMatchMode, 2 setTimer, windowWatch, 500 windowWatch: ; if rdp OR (partial title matching vsphere AND you are in the console captured section) if WinActive("ahk_class TscShellContainerClass") or (WinActive(" - vSphere Client") and Control("MKSEmbedded1")) { if (!active) { active := true Sleep 50 suspend off } } else { active := false suspend on } return ; return ClassNN of mouse position Control(ClassNN) { MouseGetPos,,,,control return (ClassNN = control) }
Я использую это, чтобы позволить медиа-ключам воспроизведения / паузы работать как в rdp / vsphere
Media_Play_Pause:: Sleep 50 Run "C:\Foobar2000\foobar2000.exe" /playpause return
Попробуйте это в своем сценарии AHK:
send ^!{LShift}{RShift} ; send ctrl+alt+left shift+right shift
VMWare, скорее всего, устанавливает собственный крючок для клавиатуры, который имеет приоритет над AHK. Та же проблема возникает при запуске клиента удаленного рабочего стола. Решение состоит в том, чтобы проверить, активно ли целевое окно так активно, и переустановите его, если он есть. Крючок можно переустановить, приостановив и затем отказаться от AHK.
Вот мой сценарий для удаленного рабочего стола, который должен быть легко настраиваемым для VMWare:
; Script by Russell Davis, http://russelldavis.blogspot.com/ ; with inspiration from http://www.autohotkey.com/forum/topic5702.html ; and http://www.autohotkey.com/forum/topic1662.html #UseHook #SingleInstance force setTimer, windowWatch, 500 windowWatch: if WinActive("ahk_class TscShellContainerClass") { if (!active) { active := true ; Short sleep to make sure remote desktop's hook is in place first Sleep 50 ; Coming out of suspend mode recreates the keyboard hook, giving ; our hook priority over the remote desktop client's. suspend off } } else { active := false suspend on } return ; Be careful if using a hotkey with an Alt or Win modifier. The modifier's ; keyup event may trigger a system action. AHK is supposed to work around this, ; but it doesn't seem to work in this case. ; See http://www.autohotkey.com/forum/topic22378.html for a related discussion. ^+CapsLock:: ; Need a short sleep here for focus to restore properly. Sleep 50 WinMinimize ahk_class TscShellContainerClass return