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