将后台窗口激活到前台的方法
来源:互联网 发布:黄金行情走势软件 编辑:程序博客网 时间:2024/05/02 00:42
下面这种方法是我见到的最理想的,还有一些其他的方法,像通过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表示这个参数是输入参数,可以当它没有。
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- Android将后台应用唤起到前台的方法
- Android将后台应用唤起到前台的方法
- Android将后台应用唤起到前台的方法
- VC 窗口置于前台并激活的方法
- Struts2 中实现将后台查询到的list传到前台页面的方法
- 将后台数据显示到前台页面的方法springmvc+hibernate+spring
- 将后台运行的VMWare切换到前台
- 将后台Activity移动到前台
- 将APP从后台显示到前台
- java后台将前台传递的特殊字符转意下传递到前台
- 前台通过base64传图片到后台的实现方法
- Eclipse前台窗口后台进程的用法
- 激活后台运行程序的窗口
- 激活后台运行程序的窗口
- WebBrowser页面与WinForm交互技巧
- Memory Meaning on the bottom of android"running services"
- ld.so.conf 文件与PKG_CONFIG_PATH变量
- 中文分词语言模型和动态规划
- 自定义控件属性(attr.xml,TypedArray)
- 将后台窗口激活到前台的方法
- JDBC连接各种数据库的方式
- 单链表逆序
- form表单中get与post的区别
- Oracle: Use NVL() to convert a null value into another value.
- 如何将一个某个窗口提到最顶层
- struts2中ActionContext是什么东东???
- JAVA中的== equals hashcode问题
- LayoutInflater和findViewById()