Как получить имя активного окна?
Я столкнулся с проблемой получения имени активного окна.
Когда я использую этот код:
HWND currentWindowHWND = GetForegroundWindow();
char title[100];
GetWindowTextA(currentWindowHWND, title, 100);
Я получаю что-то вроде: "Как получить имя активного окна? - Переполнение стека - Google Chrome".
Но я хочу получить "Google Chrome", какую функцию WINAPI я должен использовать?
1 ответ
В 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;