![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение информации о выполняющихся в системе процессах [D7, WinXP]
User_OKA © (2003-11-21 09:29:00)
Если обновляю список процессов, через кнопку, все нормально,
а если делаю обновление при помощи таймера, через определенный интервал времени происходит следующие:
Пока фокус на сетке - все ОК. Стоит только переместить мышь (ничего не нажимая!) в район меню, список исчезает, остается одна строка с кракозяблами. Когда мышь в других областях формы (заголовок, кнопки, бордюр, etc.) или вообще вне формы, опять же все ОК.
Help!!!
// Получение информации о выполняющихся в системе процессах
var
SH : Cardinal;
Num, I : Integer;
PPE : TProcessEntry32;
Full_Path, Exe_name: array [0..40]of string;
ProcessID : array [0..40] of integer;
begin
Num := 0;
SH := CreateToolHelp32SnapShot(Th32cs_SnapAll, 0);
Process32First(SH, PPE);
Full_Path[Num] := PPE.szExeFile;
Exe_Name[Num] := ExtractFileName(Full_Path[Num]);
ProcessID[Num] := PPE.Th32ProcessID;
Num := Num + 1;
while Process32Next(SH, PPE) do
begin
Full_Path[Num] := PPE.szExeFile;
Exe_Name[Num] := ExtractFileName(Full_Path[Num]);
ProcessID[Num] := PPE.Th32ProcessID;
Num := Num + 1;
end;
Listbox1.Clear;
for I := 0 to Num-1 do Listbox1.Items.Add(Full_path[i]);
CloseHandle(SH)
end;
User_OKA (2003-11-21 11:35:00) [1]
За ссылку спасибо, но я уже разобрался. Забыл определить размер типа:
PPE.dwSize:=SizeOf(TProcessEntry32)
DVM (2003-11-21 10:31:00) [2]http://delphibase.endimus.ru/?action=viewfunc&topic=sysparams&id=10003