将焦点放在使用CreateProcessAsUser从系统服务启动的Window上

时间:2013-07-03 14:41:06

标签: c++ windows user-interface service impersonation

我有一个使用方法CreateProcessAsUser启动应用程序的系统服务。

此服务使用模拟在活动会话中启动应用程序。应用程序正在启动,我设法通过使用:

使窗口显示在前面
  

SetWindowPos(& this-> wndTopMost,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);

但我不知道该怎么做,所以应用程序可以拥有键盘焦点。即使应用程序位于顶部,只要用户在窗口上没有clic,键盘输入就会转到我应用程序下面的应用程序。

1 个答案:

答案 0 :(得分:2)

让您的应用程序通过RegisterHotKey注册(精心挑选的)HotKey,然后通过SendInput

模拟密钥

在处理WM_HOTKEY消息时,您应该能够“窃取焦点”。

Remenber:窃取焦点是 BAD ,但我完全理解“我的客户要问的是什么!”部分。