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

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

Кто может объяснить следующее: [D6, Win95/98]


^SANYA ©   (2002-07-31 11:53:00) 

Хочу получить список всех процессов.
При нажатии мышой на button1 всё работает как надо, при нажатии Enter на button1 иногда выводит одну строку с системными символами, точнее если нажать Enter сразу после F9, всё работает...а если поддождать 5сек. и нажать, то "не очень-то"...

procedure TForm1.Button1Click(Sender: TObject);
var
hSnapshot : THandle;
data: TProcessEntry32;
s:string;
i:byte;
begin
hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
Process32First(hSnapshot, data);

s:="";
i:=0;
while data.szExeFile[i]<>"" do
begin
s:=s+data.szExeFile[i];
inc(i);
end;
ListBox1.Items.Add(s);

while Process32Next(hSnapshot,data) do
begin
s:="";
i:=0;
while data.szExeFile[i]<>"" do
begin
s:=s+data.szExeFile[i];
inc(i);
end;
ListBox1.Items.Add(s)
end;

end;


Eugene Lachinov   (2002-07-31 14:48:00) [1]

>^SANYA
А здесь не понравилось http://delphiapi.narod.ru/part03.htm?


^SANYA   (2002-07-31 14:39:00) [2]

>И ни при чем тут ENTER или кнопка.
Я прекрасно понимаю, что не причём, но глюк-то есть...


Странный Прохожий   (2002-07-31 14:39:00) [3]

...и ещё, пардон, :), извините, CloseHandle(hSnapshot) после его использования...


Eugene Lachinov   (2002-07-31 13:27:00) [4]

Data.dwSize := SizeOf(Data); // обязательно


DiamondShark   (2002-07-31 12:59:00) [5]

Вот это


> s:="";
> i:=0;
> while data.szExeFile[i]<>"" do
> begin
> s:=s+data.szExeFile[i];
> inc(i);
> end;
> ListBox1.Items.Add(s)


заменить на ListBox1.Items.Add(data.szExeFile)

И ни при чем тут ENTER или кнопка.

Пояснения нужны?


Наверх

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