Форум: "WinAPI";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
ВнизCreateToolHelp32SnapShot Найти похожие ветки
← →
Handle (2006-05-18 20:29) [0]Доброго времени суток, использую функцию 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;
← →
Handle (2006-05-18 20:35) [1]Собственно вопрос, почему CreateToolHelp32SnapShot возвращает неправильный путь? Или он правильный?
← →
Handle (2006-05-18 20:37) [2]Или у меня руки не оттттттттттттттуда ростут?
(заела кнопка)
← →
begin...end © (2006-05-20 11:30) [3]Ничего не понял. О каком пути, возвращаемом функцией CreateToolHelp32SnapShot, идёт речь, ведь она никакого пути не возвращает? Почему не проверяется результат OpenProcess, ведь для открытия процесса может не хватить прав? Почему 127, а не MAX_PATH?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.048 c