Script Autohotkey pour quitter la fenêtre VMWare

Pour quitter une fenêtre de console VMWare sur mon système XP, je dois:

  • Appuyez sur les deux touches Maj.
  • Appuyez sur Cntrl-Alt

Est-ce que quelqu'un sait comment je peux le faire dans Autohotkey?

La réponse de Russell vous permet d'obtenir une grande partie de l'utilisation du RDP à titre d'exemple. Il est un peu plus difficile de détecter que vous êtes dans la console vsphere / vmware, mais que vous pouvez le faire ci-dessous. J'ai commenté les changements / ajouts

#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) } 

J'utilise ceci pour permettre aux touches de lecture / pause de travailler à la fois dans rdp / vsphere

 Media_Play_Pause:: Sleep 50 Run "C:\Foobar2000\foobar2000.exe" /playpause return 

Essayez ceci dans votre script AHK:

 send ^!{LShift}{RShift} ; send ctrl+alt+left shift+right shift 

VMWare installe probablement son propre crochet de clavier qui a préséance sur les AHK. Le même problème se produit lors de l'exécution d'un client Remote Desktop. La solution consiste à vérifier si la fenêtre cible est activée de temps en temps et à réinstaller le crochet d'AHK si c'est le cas. Le crochet peut être réinstallé en suspendant puis en supprimant AHK.

Voici mon script pour Remote Desktop qui devrait être facilement personnalisable pour 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