由於阿明已經寫,使用#Persistent後。另外,如果要創建只在特定應用程序處於焦點狀態時處於活動狀態的熱鍵,則可以執行以下操作:在這種情況下,腳本將不再在啓動時執行,只有當您按熱鍵時纔會執行...
#Persistent
#SingleInstance
#IfWinActive, ahk_class TMainForm
!M::
sleep 2000
Send Now is the time
Return
!n::SoundBeep, 500, 500
!o::MsgBox, OK
#IfWinActive
這樣,所有3個(虛擬)熱鍵將只在您的應用程序處於焦點時處於活動狀態!您可以爲其他應用程序定義相同的熱鍵,只需重複該代碼,但使用#IfWinActive, ahk_class TMainForm
行中的其他應用程序的ID即可。
如果你想發送一條消息,每2秒的時候,您的應用程序是活動的執行以下操作:
#Persistent
#SingleInstance
SetTimerMatchMode, CheckApp, 2000
Return
CheckApp:
IfWinActive, ahk_class TMainForm
{
Send, Now is the time
}
Return
如果你希望每次(重新)時激活(把聚焦)執行腳本您應用程序(所以不是每兩秒)然後使用以下內容:
#Persistent
#installKeybdHook
#SingleInstance
Gui +LastFound
hWnd := WinExist()
DllCall("RegisterShellHookWindow", UInt,Hwnd)
MsgNum := DllCall("RegisterWindowMessage", Str,"SHELLHOOK")
OnMessage(MsgNum, "ShellMessage")
Return
ShellMessage(wParam)
{
If (wParam = 4)
{
IfWinActive ahk_class TMainForm
{
Send, Now is the time
}
}
}
Return