正在获取GetWindowText的当前窗口句柄
Getting handle of current window to GetWindowText?
我想显示对话框的标题:
HWND hWnd = ::GetActiveWindow();
char cc[101];
::GetWindowText(hWnd,cc,100);
MessageBox(cc);
但结果是一个空白的"。
不确定出了什么问题??
根据MSDN:
检索附加到调用线程的消息队列的活动窗口的窗口句柄。
这意味着,如果从中调用函数的线程没有任何窗口,则函数将失败。
您可能需要GetForegroundWindow
。
这可能会来得有点晚,但无论如何。如果您想在任何时候获取系统上的当前(活动)窗口,最好的方法是使用DLL中实现的过程,然后安装调用该过程的全局钩子。
以下资源非常有用:
- 创建和使用DLL
- Hooks概述
相关文章:
- 如何获取边缘窗口句柄 (HWND)?
- 从运行服务的应用程序代码中提取窗口句柄
- 我需要通过窗口句柄(HWND)获取文件,我该怎么办?
- QOpenGLWidget:检索第三方库的窗口句柄
- 将窗口句柄从一个进程使用到另一个进程(插件 vst 音频)
- 编写 Windows 桌面应用程序时,我应该在哪里跟踪我的窗口句柄?
- 为什么错误1400无效的窗口句柄
- 如何从exe文件的名称中查找窗口句柄
- 捕获新创建的模态对话框的窗口句柄
- 获取 ActiveX 窗口句柄
- 如何正确传递窗口句柄
- 如何将窗口句柄从C#传递到C Win32 DLL
- 窗口句柄无法正确保存
- 获取光标下窗口的窗口句柄
- C++:通过进程id、进程句柄和标题名称从进程中获取唯一窗口的窗口句柄的最佳方法
- 错误 1400 无效的窗口句柄
- 将消息发送到窗口句柄
- 将 C# 窗口句柄传递给非托管代码 - 跨线程异常
- 渲染和窗口系统的独立性,通过窗口句柄进行连接
- 如何使用Windows应用商店C++在没有窗口句柄的情况下渲染路径几何体