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

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

CreateToolHelp32SnapShot [D6, WinXP]


Handle ©   (2006-05-18 20:29:00) 

Доброго времени суток, использую функцию CreateToolHelp32SnapShot
для получения списка процессов.
В TListView получаю список процессов,в SubItem добавляю путь к файлу, для некоторых процессов функция CreateToolHelp32SnapShot возвращает  путь к файлу в виде
\??\C:\WINDOWS\system32\winlogon.exe

procedure TForm1.Button1Click(Sender: TObject);
var
 hProcSnap: THandle;
 pe32: TProcessEntry32;
 ProcessHandle:  THandle;
 ProcessExePath:    array[0..127] of Char;
begin
 ListView1.Clear;
 hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
 if hProcSnap = INVALID_HANDLE_VALUE then exit;
 pe32.dwSize := SizeOf(ProcessEntry32);
 if Process32First(hProcSnap, pe32) = true then
   while Process32Next(hProcSnap, pe32) = true do
    begin
     ProcessHandle := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False,pe32.th32ProcessID );
     GetModuleFileNameEx(ProcessHandle, 0, ProcessExePath,127);
     with ListView1.Items.Add do begin
     Caption := pe32.szExeFile;
     SubItems.Add(ProcessExePath);
   end;
   end;
 CloseHandle(hProcSnap);
 CloseHandle(ProcessHandle);

end;


begin...end   (2006-05-20 11:30:00) [1]

Ничего не понял. О каком пути, возвращаемом функцией CreateToolHelp32SnapShot, идёт речь, ведь она никакого пути не возвращает? Почему не проверяется результат OpenProcess, ведь для открытия процесса может не хватить прав? Почему 127, а не MAX_PATH?


Handle   (2006-05-18 20:37:00) [2]

Или у меня руки не оттттттттттттттуда ростут?
(заела кнопка)


Handle   (2006-05-18 20:35:00) [3]

Собственно вопрос, почему CreateToolHelp32SnapShot возвращает неправильный путь? Или он правильный?


Наверх

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