正在获取GetWindowText的当前窗口句柄

Getting handle of current window to GetWindowText?

本文关键字:窗口句柄 GetWindowText 获取      更新时间:2023-10-16

我想显示对话框的标题:

HWND hWnd = ::GetActiveWindow();
char cc[101];
::GetWindowText(hWnd,cc,100);
MessageBox(cc);

但结果是一个空白的"。

不确定出了什么问题??

根据MSDN:

检索附加到调用线程的消息队列的活动窗口的窗口句柄。

这意味着,如果从中调用函数的线程没有任何窗口,则函数将失败。

您可能需要GetForegroundWindow

这可能会来得有点晚,但无论如何。如果您想在任何时候获取系统上的当前(活动)窗口,最好的方法是使用DLL中实现的过程,然后安装调用该过程的全局钩子。

以下资源非常有用:

  1. 创建和使用DLL
  2. Hooks概述