在短时间内灭活时防止窗口闪烁

时间:2011-02-11 13:36:57

标签: c# c++ winapi

我正在创建av On屏幕键盘。要发送密钥,我执行以下操作(伪代码):

SetMyWindowTopMost(true)
SetReceiverWindowActive()
Sleep(100)
SendInput(keys)
SetMyWindowActive()
SetMyWindowTopMost(false)

我将焦点放在另一个应用程序上很短的时间(约100毫秒),然后重新获得焦点。但我不希望它出现

问题是我的程序每次变为非活动状态时都会闪烁,然后再次激活。我可以以任何方式阻止它,因此看起来它一直处于活动状态。

1 个答案:

答案 0 :(得分:3)

您可能会在可能的闪存期间处理WM_NCACTIVATE消息。要么阻止邮件到达DefWindowProc,要么将wParam修改为'true'为in this answer