作者UndeadSion (UndeadSion)
看板EzHotKey
標題Re: [AHK-] AHK會覆蓋TweakUI steal focus設定的問題
時間Sun Mar 1 15:56:00 2009
※ 引述《peter53 (追夢的小飛俠)》之銘言:
: 我使用的是Windows XP SP3, AHK 1.0.47.06 在每次開啟.ahk檔時AHK都會
: 自動把TweakUI內的"Prevent applications from steal focus"設定取消
: 不過這讓我使用上增加不少困擾... 常打字到一半就有別的視窗跳出
: 下面這篇說這是AHK故意的 因為該設定會讓WinActivate "less reliable"
: http://www.autohotkey.com/forum/viewtopic.php?t=4632
: 也提供了一個解法:在.ahk檔內加入
: dllcall("SystemParametersInfo", SPI_SETFOREGROUNDLOCKTIMEOUT, 0, 0,
: SPIF_SENDCHANGE)
: 不過我自己試了以後發現沒有用... 我也在AHK的forum發問過
: http://www.autohotkey.com/forum/viewtopic.php?t=40013
: 不過大概是我對於dllcall的使用方法仍不了解吧
: 在最後TheGood的回文中說需指定argument types
: 我不知道該指定成什麼type 所以就先猜是unsined integer 改成下面這樣:
: dllcall("SystemParametersInfo", uint, 8193, uint, 0, uint, 0, uint, 2)
: 不過依然是沒有作用.... 想問問看版友是否知道我哪個地方寫錯了?
: 先謝謝大家囉 :)
時間參數設為 0 等於取消 Prevent applications from stealing focus 喔
改成
DllCall("SystemParametersInfo", UInt, 8193, UInt, 0, UInt, 200000, UInt, 2)
應該就可以了 (200000ms 為 Windows 預設值)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.159.124
1F:推 peter53:真的可以了 謝謝你的回答!! :) 03/02 22:55
2F:→ peter53:另外想請問一下 200000ms是什麼意思呀? 謝謝 ^^ 03/02 22:56
3F:→ UndeadSion:意思是當目前視窗的操作停止之後,在 200 秒內防止其它 03/03 00:33
4F:→ UndeadSion:程式彈出的視窗取得前景焦點 (僅在工作列閃爍) 03/03 00:34
5F:推 peter53:了解~ 謝謝你 :) 03/04 21:02