如何判断一个窗口已经停止响应02
2013-12-13 09:54
288 查看
如何判断一个窗口已经停止响应
使用API函数IsHungAppWindow,可以判断窗口是否已经停止响应。于是可以利用其他线程把这个窗口关闭,避免产生不良的用户体验。
BOOL IsHungAppWindow(
HWNDhWnd
);
MSDN文档:http://msdn.microsoft.com/en-us/library/ms633526.aspx
该函数从Win2000 版本开始才有。在早期的操作系统上,可以使用API函数SendMessageTimeout来达到相同的目的。
LRESULT SendMessageTimeout(
HWNDhWnd,
UINTMsg,
WPARAMwParam,
LPARAMlParam,
UINTfuFlags,
UINTuTimeout,
PDWORD_PTR lpdwResult
);
代码示例:
使用API函数IsHungAppWindow,可以判断窗口是否已经停止响应。于是可以利用其他线程把这个窗口关闭,避免产生不良的用户体验。
BOOL IsHungAppWindow(
HWNDhWnd
);
MSDN文档:http://msdn.microsoft.com/en-us/library/ms633526.aspx
该函数从Win2000 版本开始才有。在早期的操作系统上,可以使用API函数SendMessageTimeout来达到相同的目的。
LRESULT SendMessageTimeout(
HWNDhWnd,
UINTMsg,
WPARAMwParam,
LPARAMlParam,
UINTfuFlags,
UINTuTimeout,
PDWORD_PTR lpdwResult
);
代码示例:
lr = SendMessageTimeout(hWnd, WM_NULL, 0, 0,SMTO_ABORTIFHUNG | SMTO_BLOCK, 1000, &dwResult); if (lr) { //not hang } else { //hang }
相关文章推荐
- [Windows编程] 如何判断一个窗口已经停止响应
- [Windows编程] 如何判断一个窗口已经停止响应
- 如何判断一个进程是否停止了响应(有对话框的)
- 如何判断一个SOCKET连接是否已经断开
- 如何判断数据库中1个表已经存在,这样不会重复创建一个新表(用sql语句)
- php 如何判断一个常量是否已经定义
- MFC如何判断一个进程已经存在
- 垃圾回收的依据,如何判断一个对象已经毫无用处
- php 如何判断一个常量是否已经定义
- 如何判断一个tcp连接已经断开
- 请问如何判断一个窗口是否处于隐藏状态?
- 如何判断一个alarm是否已经被创建
- 如何判断一个SOCKET连接是否已经断开
- sqlite3如何判断一个表是否已经存在于数据库中c++
- 在C#中,如何判断某个窗口已经成为活动窗口?
- mysql中如何判断 一个数据表是否已经存在
- 脚本开发教程分享:如何用按键精灵判断窗口是否无响应或卡屏呢
- 如何判断一个已经写好的MFC程序是单文档还是多文档?
- VC如何判断窗口是否无响应
- 如何判断一个窗口是否可以接受字符