![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюки с 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