1

我遇到了获取活动窗口名称的问题。

当我使用此代码时:

HWND currentWindowHWND = GetForegroundWindow();
char title[100];
GetWindowTextA(currentWindowHWND, title, 100);

我得到类似:“如何获取活动窗口的名称? - 堆栈溢出 - 谷歌浏览器”。

但是我想获得“谷歌浏览器”,我应该使用哪个 WINAPI 函数?

4

1 回答 1

3

c代码中使用以下 winapi 函数:

DWORD WINAPI GetModuleFileName(
  _In_opt_  HMODULE hModule,
  _Out_     LPTSTR lpFilename,
  _In_      DWORD nSize
);

或者

DWORD WINAPI GetModuleBaseName(
  _In_      HANDLE hProcess,
  _In_opt_  HMODULE hModule,
  _Out_     LPTSTR lpBaseName,
  _In_      DWORD nSize
);

如何在 C++ 中获取进程名称


c#

Int32 pid = win32.GetWindowProcessID(hwnd);
Process p = Process.GetProcessById(pid);
string appName = p.ProcessName;

您应该获得进程名称而不是窗口的标题。

于 2013-01-26T18:33:19.440 回答