[Windows编程] 如何判断一个窗口已经停止响应

简介:
使用API函数IsHungAppWindow,可以判断窗口是否已经停止响应。于是可以利用其他线程把这个窗口关闭,避免产生不良的用户体验。
BOOL IsHungAppWindow(      
    HWND hWnd
);
该函数从Win2000 版本开始才有。在早期的操作系统上,可以使用API函数SendMessageTimeout 来达到相同的目的。
LRESULT SendMessageTimeout(      
    HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam,
    UINT fuFlags,
    UINT uTimeout,
    PDWORD_PTR lpdwResult
);
代码示例:
lr = SendMessageTimeout(hWnd, WM_NULL, 0, 0, SMTO_ABORTIFHUNG | SMTO_BLOCK, 1000, &dwResult);
if (lr)
{
       // not hang
}
else
{
       //hang
}

 

 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/wingeek/273936,如需转载请自行联系原作者

相关文章
|
3月前
|
消息中间件 C++ Windows
02 MFC - Windows 编程模型
02 MFC - Windows 编程模型
19 0
|
4月前
|
监控 编译器 API
[笔记]Windows核心编程《二十二》注入DLL和拦截API(一)
[笔记]Windows核心编程《二十二》注入DLL和拦截API
114 0
|
1月前
|
网络协议 Linux C语言
005.在Windows下编程让效率起飞
windows开发Linux方式: 先用编辑器编写源代码 然后进入Linux 系统,使用gcc编译器(后面会讲),对源代码进行编译运行。 熟练后推荐使用VS2019 开发Linux C++ 程序 将自己的Ip地址设为静态IP
27 1
|
2月前
|
Windows
(查看,和保存)windows下通过cmd命令符窗口查看、保存文件目录结构
(查看,和保存)windows下通过cmd命令符窗口查看、保存文件目录结构
37 0
|
2月前
|
人工智能 机器人 C#
Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)
一款参考QQ、微信的即时通讯软件。采用CS结构,客户端基于.Net与WPF开发,服务端使用Java开发。
|
1月前
|
API Python Windows
python3应用windows api对后台程序窗口及桌面截图并保存的方法
python3应用windows api对后台程序窗口及桌面截图并保存的方法
53 1
|
4月前
|
消息中间件 Ubuntu 编译器
Windows编程
Windows编程
27 0
|
4月前
|
开发框架 .NET C++
[笔记]Windows系统编程《九》Windows服务编程(二)
[笔记]Windows系统编程《九》Windows服务编程(二)
|
4月前
|
数据库 数据安全/隐私保护 C++
[笔记]Windows系统编程《九》Windows服务编程(一)
[笔记]Windows系统编程《九》Windows服务编程
|
4月前
|
安全 API Windows
[笔记]Windows核心编程《二十二》注入DLL和拦截API(三)
[笔记]Windows核心编程《二十二》注入DLL和拦截API(三)
103 0

相关产品

  • 云迁移中心