将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow
来源:互联网 发布:网络文件管理系统 编辑:程序博客网 时间:2024/05/18 00:55
将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow
[转]http://hi.baidu.com/neil_danky/item/f9dca0ca36a79811515058d3
方法一:
使用定时器,然后在定时器响应函数中定时调用,SetWindowPos()函数,第一个参数写HWND_TOPMOST
方法二:
因为2000/XP改变了SetForegroundWindow的执行方式,不允许随便把窗口提前,打扰用户的工作。可以用附加本线程到最前面窗口的线程,从而欺骗windows。
AttachThreadInput(GetWindowThreadProcessId(::GetForegroundWindow(),NULL), GetCurrentThreadId(),TRUE);
SetForegroundWindow();
SetFocus();
AttachThreadInput(GetWindowThreadProcessId(::GetForegroundWindow(),NULL), GetCurrentThreadId(),FALSE);
方法三:
如何激活指定的窗口事件 ●
我们知道,Windows 9x/2000中SetForegroundWindow函数当用户正在操作其他窗口时是不能强制某个窗口为前景窗口的,而是激活窗口并调用FlashWindowEx函数来通知用户。但是很多实际情况要求将激活窗口的同时将创建这个窗口的线程置为前景状态。碰到这种情况我们可以使用USER32.DLL中的几个未公开API函数。
void SwitchToThisWindow (
HWND hWnd, // 被激活的窗口句柄
BOOL bRestore // 如果被极小化,则恢复窗口
);
必须动态加载这个函数。
typedef void (WINAPI *PROCSWITCHTOTHISWINDOW) (HWND, BOOL);
PROCSWITCHTOTHISWINDOW SwitchToThisWindow;
HMODULE hUser32 = GetModuleHandle("user32");
SwitchToThisWindow = ( PROCSWITCHTOTHISWINDOW)
GetProcAddress(hUser32, "SwitchToThisWindow");
接下来只要用任何现存窗口的句柄调用这个函数即可,第二个参数指定如果窗口极小化,是否恢复其原状态。
SwitchToThisWindow(hWnd, TRUE);
- 将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow
- vc将窗口置顶的SetWindowPos()函数以及相关
- vc将窗口置顶的SetWindowPos()函数以及相关
- 置顶窗口SetWindowPos()的用法
- SetWindowPos窗口置顶
- C# SetWindowPos窗口置顶使用说明
- VC获取其它程序窗口焦点方法 AttachThreadInput的用法
- 窗口置顶之SetWindowPos与SetForegroundWindow的区别
- Python使用win32gui.SetWindowPos置顶窗口
- Delphi 窗口置顶的方法
- Delphi 窗口置顶的方法
- Python的Tkinter将窗口置顶
- 将窗口置顶
- VC关于置顶窗口的方法小结
- opencv中窗口置顶的方法
- VC关于置顶窗口的方法小结
- VC关于置顶窗口的方法小结
- VC关于置顶窗口的方法小结
- mysql中的常用函数
- Eclipse快捷键大全
- Linux下Redis服务器安装配置--自己动手试过
- 为什么我们做事常常不能坚持到底?
- Java一次读取文本文件所有内容(已知文件编码)
- 将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow
- 顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)
- poj 2492 A Bug's Life 【并查集拓展】
- WP-报读TTS
- 解决在Fragment中启动Activity时传递请求码的问题
- 数字电视的机顶盒通讯功能实现
- properties eclipse 插件
- 将Cocos2d-x的libcurl单独打包到Android
- server 2012 各个版本的安装及激活教程