【发布时间】:2014-05-16 13:04:14
【问题描述】:
目标是防止任务栏图标闪烁。显然 Windows 没有禁用闪烁的选项,所以我希望编写一个小程序来拦截来自 任何 应用程序对 FlashWindow / FlashWindowEx 的所有调用并简单地丢弃它们。
这可以吗?如果是这样,您能否提供任何提示/示例如何挂钩对 FlashWindowEx 的调用(全局),这将适用于 32 位和 64 位应用程序以及通过 GetProcAddress 进行的常规 API 调用和 DLL 调用(Skype 使用它)。
【问题讨论】:
-
查看微软的 Detours 库。不过,我认为至少在某个地方可以选择它。
-
据我所知,detours 免费版仅支持 32 位应用程序。
-
this 怎么样?控制面板 > 轻松访问中心 > 使用文本或视觉替代声音
-
请注意,FlashWindowEx 并不是窗口可以在任务栏上闪烁的唯一原因。您最好取消 HSHELL_FLASH 通知。
-
@CiriousJoker 是的,它需要将 DLL 注入每个进程。这并不像我希望的那么容易,但我让它工作了,这是完整的项目:github.com/bladeSk/StayFocused