Script Autohotkey para sair da janela do VMWare

1

Para sair de uma janela do console VMWare no meu sistema XP, preciso:

  • Pressione as duas teclas Shift
  • Pressione Ctrl-Alt

Alguém sabe como posso fazer isso no Autohotkey?

    
por Bill 13.01.2011 / 16:32

3 respostas

2

A resposta de Russell dá a você uma boa parte do caminho usando o RDP como exemplo. É um pouco mais difícil detectar que você está no console do vsphere / vmware, mas pode ser feito com o abaixo. Eu comentei as alterações / adições

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

Eu uso isso para permitir que as chaves de mídia play / pause funcionem em ambos os rdp / vsphere

Media_Play_Pause::
  Sleep 50
  Run "C:\Foobar2000\foobar2000.exe" /playpause
return
    
por 25.01.2012 / 04:20
1

Tente isso no seu script AHK:

send ^!{LShift}{RShift} ; send ctrl+alt+left shift+right shift
    
por 13.01.2011 / 17:02
1

O VMWare provavelmente instalará seu próprio gancho de teclado que tem precedência sobre o AHK. O mesmo problema ocorre ao executar um cliente de área de trabalho remota. A solução é verificar se a janela de destino está ativa de tempos em tempos e reinstalar o gancho do AHK, se estiver. O gancho pode ser reinstalado suspendendo e depois suspendendo o AHK.

Este é o meu script para a Área de Trabalho Remota que deve ser facilmente personalizável para o 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
    
por 30.03.2011 / 09:27

Tags