将后台窗口激活到前台的方法
2008-12-24 12:44
218 查看
下面这种方法是我见到的最理想的,还有一些其他的方法,像通过SetWindowsPos这个API设置窗口的Z-oder到最顶层,再设置回去。还有通过把当前窗口设置到底层,然后激活目标窗口等等方法。
HWND hCurWnd = NULL;
DWORD dwMyID;
DWORD dwCurID;
hCurWnd = ::GetForegroundWindow();
dwMyID = ::GetCurrentThreadId();
dwCurID = ::GetWindowThreadProcessId(hCurWnd, NULL);
::AttachThreadInput(dwCurID, dwMyID, TRUE);
::SetForegroundWindow(m_hWnd);
::AttachThreadInput(dwCurID, dwMyID, FALSE);
关键API的使用::AttachThreadInput,这个API是连接两个线程的,使其共享输入焦点,键盘状态等等。
下面这段COPY自百度百科:
通常,系统内的每个线程都有自己的输入队列。本函数(既“连接线程输入函数”)允许线程和进程共享输入队列。连接了线程后,输入焦点、窗口激活、鼠标捕获、键盘状态以及输入队列状态都会进入共享状态 返回值 Long,非零表示成功,零表示失败,会设置会GetLastError 参数表 参数 类型及说明 idAttach Long,欲连接线程的标识符(ID) idAttachTo Long,与idAttach线程连接的另一个线程的标识符 fAttach Long,TRUE(非零)连接,FALSE撤消连接。
调用这个函数时,会重设键盘状态。参数类型前的IN表示这个参数是输入参数,可以当它没有。
HWND hCurWnd = NULL;
DWORD dwMyID;
DWORD dwCurID;
hCurWnd = ::GetForegroundWindow();
dwMyID = ::GetCurrentThreadId();
dwCurID = ::GetWindowThreadProcessId(hCurWnd, NULL);
::AttachThreadInput(dwCurID, dwMyID, TRUE);
::SetForegroundWindow(m_hWnd);
::AttachThreadInput(dwCurID, dwMyID, FALSE);
关键API的使用::AttachThreadInput,这个API是连接两个线程的,使其共享输入焦点,键盘状态等等。
下面这段COPY自百度百科:
通常,系统内的每个线程都有自己的输入队列。本函数(既“连接线程输入函数”)允许线程和进程共享输入队列。连接了线程后,输入焦点、窗口激活、鼠标捕获、键盘状态以及输入队列状态都会进入共享状态 返回值 Long,非零表示成功,零表示失败,会设置会GetLastError 参数表 参数 类型及说明 idAttach Long,欲连接线程的标识符(ID) idAttachTo Long,与idAttach线程连接的另一个线程的标识符 fAttach Long,TRUE(非零)连接,FALSE撤消连接。
调用这个函数时,会重设键盘状态。参数类型前的IN表示这个参数是输入参数,可以当它没有。
相关文章推荐
- 将后台窗口激活到前台的方法(使用AttachThreadInput和SetForegroundWindow两个API)
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- VC6实现激活后台窗口最佳方法
- VC 窗口置于前台并激活的方法
- 不用AJAX实现前台JS调用后台C#方法(小技巧)
- Struts2 中实现将后台查询到的list传到前台页面的方法
- spring mvc 前台向后台传递参数方法总结
- Reapter控件,前台调用后台方法,并传参数
- phpcms v9 关闭前台和后台登陆验证码方法
- ASP.NET后台代码调用前台javascript脚本的方法
- js调用.net后台事件,和后台调用前台等方法总结(转载,方法没试过,不过先收下了 )
- 后台运行前台脚本方法,前台运行后台方法
- 常用网站后台与前台表单的有效性复杂验证(net+jqury+ajax)不用验证控件方法
- repeater里添加序号的两种方法(前台,后台)
- 前台js如何调用后台的方法的返回值
- ASP.NET后台代码调用前台javascript脚本的方法 (转)
- C#后台调用前台javascript的五种方法
- windows程序窗口层次Z-order,顶层窗口,前台窗口,后台窗口,兄弟窗口,活动窗口