Я пытаюсь получить имя исполняемого имени всех моих запущенных окон, и моя проблема в том, что:
Я использую метод
UINT GetWindowModuleFileName(
HWND hwnd,
LPTSTR lpszFileName,
UINT cchFileNameMax);
И я не понимаю, почему это не работает.
Данные, которые у меня есть о окне:
-HWND AND PROCESSID
Ошибка: например:
HWND: 00170628
ProcessId: 2336
WindowTitle: C:\test.cpp - Notepad++
GetWindowModuleFileName(): C:\test.exe
HWND: 00172138
ProcessId: 2543
WindowTitle: Firefox
GetWindowModuleFileName(): C:\test.exe
HWND: 00120358
ProcessId: 2436
WindowTitle: Mozilla Thunderbird
GetWindowModuleFileName(): C:\test.exe
Примечание. test.exe - это имя моего исполняемого файла, но это не полный путь Notepad ++... и он делает это для Mozilla Thunderbird тоже... Я не понимаю, почему
Я использую функцию следующим образом:
char filenameBuffer[4000];
if (GetWindowModuleFileName(hWnd, filenameBuffer, 4000) > 0)
{
std::cout << "GetWindowModuleFileName(): " << filenameBuffer << std::endl;
}
Спасибо за ваш ответ.