我有一个普通窗口,我想添加一个按钮,它可以在我的窗口中按下,当它是不活动的,这将不会窃取当前活动窗口的焦点。
示例:Windows8/8.1/10的系统任务栏中的触摸键盘按钮,这个按钮:
请注意,当单击此按钮时,活动应用程序仍处于活动状态,但单击其空空间时焦点将转到任务栏。
经典解决方案:
发布于 2017-08-28 17:00:42
Win7 7-way:
从Windows7开始,就有了一个新的无文档的API--函数SetChildWindowNoActivate,在user32.dll中有序号2005。它可以这样声明(Delphi风格):
function SetChildWindowNoActivate(ChildWnd: HWND): BOOL; stdcall;
external 'user32.dll' index 2005;
此功能在Windows 8/8.1/10中用于制作触摸键盘、虚拟触摸屏和语言开关等非激活按钮。
下面是一个示例应用程序的屏幕截图,上面有一个按下的“不激活”按钮和一个活动资源管理器窗口:
https://stackoverflow.com/questions/45924018
复制相似问题