作者JediDotOrg (Jedi.org)
站內EzHotKey
標題Re: [AHK-] 把一些功能加入關機程序
時間Sun Aug 8 13:28:33 2010
※ 引述《dsefkn (好喔)》之銘言:
:
※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 122.116.234.75
: 推 JediDotOrg:你都看到關鍵字「OnExit」了,很好查吧: 08/08 09:40
: → JediDotOrg:autohotkey.com/docs/commands/OnMessage.htm#shutdown 08/08 09:41
: 推 JediDotOrg:http://www.autohotkey.com/docs/commands/OnExit.htm 08/08 09:45
: → JediDotOrg:兩種方法都可以用。 08/08 09:45
: 推 MikageLin:你可以用樓上講的OnExit參數,在關機前,Autohotkey會先 08/08 09:57
: → MikageLin:關閉,觸發OnExit參數,此時可以寫入靜音的code來執行 08/08 09:59
: → dsefkn:謝謝樓上兩位大大 08/08 10:13
: → dsefkn:但是我試過拿example放入我script,但是我按關機 08/08 10:14
: → dsefkn:就真的直接關機了,並沒有跳出小視窗問你要不要關機 08/08 10:15
: → dsefkn:(example都是會跳出視窗尋問的),所以不知道為什麼不行 08/08 10:16
: → dsefkn:例如我直接把下面的example加入,就沒反應 08/08 10:17
麻煩抄範例之前,先弄清楚範例在做些什麼事 @@"
: → dsefkn:#Persistent 08/08 10:17
: → dsefkn:OnExit, ExitSub 08/08 10:18
: → dsefkn:return 08/08 10:18
: → dsefkn:ExitSub: 08/08 10:18
: → dsefkn:if A_ExitReason not in Logoff,Shutdown 08/08 10:18
這裡的意思是,如果結束這個腳本的原因「不是」登出或關機的話,才做以下的事
: → dsefkn:{ MsgBox, 4, , Are you sure you want to exit? 08/08 10:19
: → dsefkn:IfMsgBox, No 08/08 10:19
: → dsefkn:return } 08/08 10:20
: → dsefkn:ExitApp 08/08 10:20
這個範例,在按關機的情況下,本來就不應該會跳出小視窗,所以你沒看到小視窗,
乃是非常正確而合理的事。
如果你需要能「中斷」關機程序的話,就必須用 OnMessage 那一個方法,
如果你只是要在關機前做點什麼的話,就用 OnExit 就可以了,即把那段改成:
if A_ExitReason in Logoff,Shutdown
{
; do something.
}
如果你根本不需要判斷結束腳本的原因,不管為什麼腳本會關閉,
只要在腳本結束前都去設靜音的話,直接寫成:
OnExit, ExitSub
return
ExitSub:
; do something.
ExitApp
這樣也可以。
: → windwofswold:gpedit設定關機前執行的指令?XD 08/08 11:27
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.224.29
※ 編輯: JediDotOrg 來自: 59.126.224.29 (08/08 13:33)
1F:推 qaed:專業給推!! 08/08 15:17
2F:推 arj32:清楚明白 08/08 18:14
3F:推 dsefkn:謝謝大大 08/09 00:09