作者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