![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить, запущен ли процесс? [D7, WinXP]
ronyn © (2005-08-09 00:38:00)Как определить, запущена ли программа? И как определить запущен ли процесс?
n0name (2005-08-09 03:57:00) [1]Мда.
ronyn (2005-08-09 01:16:00) [2]Как определить, запущена ли программа? И как определить запущен ли процесс?
Я догадался , что принцип такой. Вот только как это выполнить?
ronyn (2005-08-09 01:12:00) [3]Как определить, запущена ли программа? И как определить запущен ли процесс?
Я догадался , что принцип такой. Вот только как это выполнить?
Marser (2005-08-09 01:11:00) [4]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Tlhelp32;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
SnapShot:Cardinal;
ProcEntry:TProcessEntry32;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i:byte;
begin
i:=0;
SnapShot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
procentry.dwSize:=sizeof(TProcessEntry32);
if process32first(SnapShot,ProcEntry) then
begin
listbox1.Items.Add(string(ProcEntry.szExeFile));
while process32next(SnapShot,ProcEntry) do begin
inc(i);
listbox1.Items.Add(string(ProcEntry.szExeFile));
end;
closeHandle(SnapShot)
end
else listbox1.items.Add('Ошибочка вышла...')
end;
end.
object Form1: TForm1
Left = 192
Top = 107
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 8
Top = 64
Width = 97
Height = 25
Caption = 'Сделать снимок'
TabOrder = 0
OnClick = Button1Click
end
object ListBox1: TListBox
Left = 112
Top = 16
Width = 473
Height = 385
ItemHeight = 13
TabOrder = 1
end
end
Eraser (2005-08-09 01:07:00) [5]ronyn (09.08.05 01:01) [2]
Например один из способов использовать ф-ии CreateToolhelp32Snapshot, Process32First, Process32Next.
В Делфи объявлены в модуле TlHelp32.
ronyn (2005-08-09 01:01:00) [6]Как определить, запущена ли программа? И как определить запущен ли процесс?
Я догадался , что принцип такой. Вот только как это выполнить?
Eraser (2005-08-09 00:43:00) [7]ronyn (09.08.05 00:38)
Выполнить поиск всех запущеных программ и посмотреть, есть ли в списке интересующая.
С процессами то же самое )