Сценарий Autohotkey для выхода из окна VMWare

Чтобы выйти из окна консоли VMWare в моей системе XP, мне необходимо:

  • Нажмите обе клавиши Shift
  • Нажмите Cntrl-Alt

Кто-нибудь знает, как я могу это сделать в Autohotkey?

Ответ Рассела дает вам большой кусок пути, использующего 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 
  • Как переназначить программу для блокировки Windows (Win + L)
  • «Выбрать для копирования и средний щелчок для вставки» в Windows
  • Autohotkey - как переопределить состояние клавиатуры
  • Как увеличить максимальные горячие клавиши за интервал?
  • Как написать сценарий autohotkey для переключения настроек Показать скрытые файлы и папки?
  • Каков самый простой способ получить горячую клавишу yhy-mm-dd hh: mm: ss timestamp на Mac?
  • Autohotkey + LButton SendInput {Shift Up}
  • Супер ключ для паузы, отключения звука микрофона и отключения звука в окнах
  • Autohotkey ... изменение скорости указателя мыши / тачпада?
  • Можно ли переключаться между окнами одного типа с помощью AutoHotkey?
  • Отключение функциональных клавиш в Windows 8 с помощью Autohotkey
  • Давайте будем гением компьютера.