Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюки с PROCESSENTRY32 [D6, WinXP]


dobriy ©   (2003-02-08 08:27:00) 

В XP я пытаюсь по Hwnd окна определить имя exe-файла таким образом:
//нахожу ID процесса по Hwnd
GetWindowThreadProcessId(wnd, pID);
hSnapshot:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshot = INVALID_HANDLE_VALUE) then exit;
Entry.dwSize := sizeof(Entry);
if not(Process32First(hSnapshot, Entry)) then exit;
repeat
IF PID=entry.Th32ProcessID //сравниваю ID
THEN pszProcessName:=entry.szExeFile; // имя exe файла
Entry.dwSize := sizeof(Entry);
until not(Process32Next(hSnapshot, Entry)); entry.
CloseHandle(hSnapshot);

В helpe и MSDN написано что entry.szExeFile должно возвращать полный путь к файлу, а уменя возвращает только имя exe-файлаю.
А мне надо полный путь. Как быть?


Cobalt   (2003-02-09 03:19:00) [1]

Да, это известный глюк, сам столкнулся с ним. Используй PSAPI
http://msdn.microsoft.com/library/en-us/perfmon/base/enumerating_all_processes.asp


Наверх

Титульная страница Поиск, карта сайта Написать письмо