qt 当前窗口句柄_QT获取Windows系统所有窗口句柄

本文介绍了在QT中如何获取Windows系统的当前窗口句柄,并详细解析了句柄的概念、作用以及其在内存中的工作原理。通过示例代码展示了枚举窗口句柄的方法,帮助初学者理解Windows句柄的使用。
摘要由CSDN通过智能技术生成

#include

#include

#pragma comment(lib,"user32.lib")

/* 回调函数,用于捕获进程 */

BOOL MyEnumProc(HWND hwnd, LPARAM param)

{

LPWSTR lpString = (LPWSTR)malloc(sizeof(WCHAR) * MAX_PATH);

if (IsWindow(hwnd) &&

IsWindowEnabled(hwnd) &&

IsWindowVisible(hwnd))

{

if (GetWindowTextW(hwnd, lpString, MAX_PATH) > 0) {

qDebug() << QString::fromStdWString(lpString); // 打印出有标题的窗口

}

}

free(lpString);

return TRUE;

}

int main(int argc, char *argv[])

{

/* 枚举窗口的所有进程 */

EnumWindows(MyEnumProc, 0);

return 0;

}

句柄详解,什么是句柄?句柄有什么用?

这里需要说明:

1.这里将句柄所能标识的所有东西(如窗口、文件、画笔等)统称为“对象”。

2.图中一个小横框表示一定大小的内存区域,并不代表一个字节,如标有0X00000AC6的横框表示4个字节。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值