Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
ВнизДиспетчер задач, список процессов Найти похожие ветки
← →
wander (2007-02-14 12:02) [0]Уважаемые!
Суть проблемы такова:
Выполняется консольное приложение в скрытом режиме - весь вывод этой консоли идет мне на форму в МЕМО.
каким образом по нажатию кнопочки можно завершить приложение, если я знаю лишь название проги в списке процессов диспетчера.????
Кто может подсказать работающий код???
← →
Elen © (2007-02-14 12:08) [1]
> wander (14.02.07 12:02)
Имхо так через CreateSnapshot получаеш PID далее OpenProcess по этому PID и TerminateProcess его.
← →
wander (2007-02-14 12:10) [2]Позвольте конкретный пример , если не сложно :-)
← →
Elen © (2007-02-14 12:16) [3]
> Позвольте конкретный пример , если не сложно :-)
Не сложно : (Это просто пример, не пинать)unit Unit1;
interface
uses tlhelp32, psapi, crtfox,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
ListBox3: TListBox;
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var p:PROCESSENTRY32;ct:cardinal;th:Cardinal; mp:array[0..255] of char;
mm:pchar;ts:TSearchRec; sst:STARTUPINFO;
begin
ct:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
Process32First(ct,p);
// RunningProcessesList(ListBox1.Items);
// ListBox1.Items.Append(string(p.szExeFile));
while Process32Next(ct,p) do begin
begin
th:=OpenProcess(PROCESS_ALL_ACCESS,false,p.th32ProcessID);
ListBox1.Items.Append(string(p.szExeFile));
ListBox2.Items.Append(inttostr(p.th32ProcessID));
ListBox3.Items.Append(inttostr(th));
end;
end; {}
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
TerminateProcess(strtoint(ListBox3.Items[ListBox1.ItemIndex]),0);
end;
end.
← →
wander (2007-02-14 12:36) [4]Клас !!!
За столько времени единственный работающий пример. Благодарю.
Токо не пойму - зачем остальные Листбоксы? если мне лишь процес конкретный нужен
← →
Elen © (2007-02-14 12:44) [5]
> Токо не пойму - зачем остальные Листбоксы? если мне лишь
> процес конкретный нужен
Для наглядности. Есче расс повторяю - данный пример является ПРИМЕРОМ и требует пинков и переделок. Смысл в связке CreateToolhelp32Snapshot...while Process32Next...OpenProcess...TerminateProcess.
Яснышко?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c