C++ 如何遍历所有打开的窗口
时间: 2023-11-16 15:05:46 浏览: 153
遍历所有窗口
4星 · 用户满意度95%
在 Windows 系统中,可以使用以下步骤遍历所有打开的窗口:
1. 引入 Windows API 头文件。
```c
#include <windows.h>
```
2. 定义枚举窗口的回调函数。
```c
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
// 处理窗口 hwnd
return TRUE;
}
```
其中,`hwnd` 表示枚举到的窗口句柄,`lParam` 表示传入的自定义参数,此处不需要使用,直接返回 `TRUE`。
3. 调用 Windows API 函数 `EnumWindows`。
```c
EnumWindows(EnumWindowsProc, 0);
```
其中,`EnumWindowsProc` 是回调函数的名称,`0` 表示传入的自定义参数,此处不需要使用。
完整示例代码:
```c
#include <windows.h>
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
// 处理窗口 hwnd
return TRUE;
}
int main()
{
EnumWindows(EnumWindowsProc, 0);
return 0;
}
```
阅读全文