Как получить исполняемое имя окна

Я пытаюсь получить имя исполняемого имени всех моих запущенных окон, и моя проблема в том, что:

Я использую метод

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;
}

Спасибо за ваш ответ.

12 голосов | спросил Jaguar 7 MarpmSun, 07 Mar 2010 22:24:20 +03002010-03-07T22:24:20+03:0010 2010, 22:24:20

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132