0
我試圖在切換到VMWare播放器時發送輸入。這是因爲沒有按Ctrl-g並使VMWare抓住我的輸入。以下是我想出的腳本,但它什麼也沒有做。這是什麼錯過了?沒有綁定關鍵字的SendInput
#IfWinActive ahk_class VMPlayerFrame
{
SendInput, {Ctrl down}g{Ctrl up}
} return
我試圖在切換到VMWare播放器時發送輸入。這是因爲沒有按Ctrl-g並使VMWare抓住我的輸入。以下是我想出的腳本,但它什麼也沒有做。這是什麼錯過了?沒有綁定關鍵字的SendInput
#IfWinActive ahk_class VMPlayerFrame
{
SendInput, {Ctrl down}g{Ctrl up}
} return
您可以使用#IfWinActive更改熱鍵或熱鍵,但不能創建腳本。
您需要檢測窗口更改並對其執行操作。
#SingleInstance
#installKeybdHook
#Persistent
Gui +LastFound
hWnd := WinExist()
DllCall("RegisterShellHookWindow", UInt,Hwnd)
MsgNum := DllCall("RegisterWindowMessage", Str,"SHELLHOOK")
OnMessage(MsgNum, "ShellMessage")
Return
ShellMessage(wParam)
{
If (wParam = 4 or wParam = 32772) ; Without VMware Player running: wParam = 4, with VMware Player running: wParam = 32772
{
IfWinActive ahk_class VMPlayerFrame
{
SendInput, {Ctrl down}g{Ctrl up}
}
}
}
Return
; Hotkey {Win}+g launches Chrome
#g::Run "C:\Users\%A_Username%\AppData\Local\Google\Chrome\Application\chrome.exe"
; Hotkeys {Ctrl}+Nr gives you fractures
^2::
Send, ½
TrayTip, For 2 Squared,press Ctrl + Shift 2,1,1
Return
^3::
Send, ¾
TrayTip, For 3 Cubed,press Ctrl + Shift 3,1,1
Return
^4::Send, ¼
; HotKeys {Shift}+{Ctrl}+Nr gives you the power
+^0::Send, °
+^1::Send, ¹
+^2::Send, ² ; Shift Control [email protected]
+^3::Send, ³ ; Shift Control 3#
; Hotstrings mvge, mvgd or mvgf will give you my salutations in various languages.
:*:mvge::Regards,{Enter}{Enter}Robert Ilbrink
:*:mvgd::Mit freundlichen Grüßen,{Enter}{Enter}Robert Ilbrink
:*:mvgf::Salutions,{Enter}{Enter}Robert Ilbrink
我是AHK的新手。是否可以將此代碼與我現有的熱鍵和熱鍵結合使用?我嘗試了,但沒有成功。 – Forethinker 2013-03-14 08:23:38
如果我理解你是對的,你想知道你是否也可以在同一個腳本中有熱鍵和熱鍵?答案是肯定的。只要您在第一個或第二個「返回」下放置熱點。啓動時,所有AutoHotKey行都會執行,直到第一個「返回」。通過在第一部分下放置所有其他的hotstrings/hotkeys,確保第一部分可以在啓動時執行。這有幫助嗎? – 2013-03-14 08:44:09
這個'鉤子'被認爲是熱鍵或熱鍵嗎?我的意思是可以將此解決方案與包含hostrings和熱鍵的現有.ahk文件結合使用。 – Forethinker 2013-03-14 08:49:34