QMdiSubWindow的本机句柄
Native Handle of QMdiSubWindow
我正在尝试获取添加到QMdiArea的QMdiSubWindow的HWND。
我使用以下代码来获取句柄:
Dialog* subWindow = new Dialog(this);
QMdiSubWindow* sw = ui->mdiArea->addSubWindow(subWindow);
(HWND) hwnd = id->winId();
为了测试它是否有效,我使用了以下代码:
SetWindowText(hwnd, "Hello, World!");
什么也没发生。如果我运行以下代码:
SetWindowText((HWND) this->winId(), "Hello, World!");
它适用于主窗口。代码被放置在主窗口的构造函数中。子窗口类的类型为QDialog。
有什么办法让它发挥作用吗?
您可能有一个正确的HWND
,但它实际上可能不是您要找的那个(一个可见的窗口实际上可能由几个嵌套的窗口组成:当您真正想要拾取它的子窗口或父窗口时,您可能会认为您拾取了正确的窗口)。
我建议你使用Microsoft间谍工具,使用finder工具选择你感兴趣的mdi小部件(直接在你显示的GUI上),间谍工具会给你它的HWND
。然后你可以检查Qt报告你相同的id。
相关文章:
- 从C++本机插件更新Vector3数组
- GCC本机矩阵运算库
- VC++本机单元测试,找不到调试符号
- 在这种情况下,java对象是否可以调用本机函数
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 无法将标准库导入本机 android 项目中的头文件
- 如何获取边缘窗口句柄 (HWND)?
- 枚举进程模块在有效句柄上返回无效句柄
- 在 c/c++ 中打开 PhysicalDrive 的句柄并写入 MBR 的 linux 等效是什么?
- 从运行服务的应用程序代码中提取窗口句柄
- 使用本机 C++ 应用程序中的 C# 代码
- 在nodejs中使用本机代码的最佳方法是什么?
- 如何告诉本机节点模块所需的dll存储在哪里?
- 在读取文件后重置句柄
- 从本机句柄创建std ::线程
- 提升线程 检查当前线程是否等于另一个本机句柄
- QMdiSubWindow的本机句柄
- 从线程中获取本机句柄