Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.04;
Скачать: CL | DM;

Вниз

Диспетчер задач, список процессов   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.062 c
2-1171352745
начинающий2007
2007-02-13 10:45
2007.03.04
структура база


2-1171138018
ANTPro
2007-02-10 23:06
2007.03.04
Сменить фон в ЕditBox


2-1171476102
abba
2007-02-14 21:01
2007.03.04
Как в StringGrid в ячейку вводить только один символ?


15-1170955450
vain
2007-02-08 20:24
2007.03.04
Напомните, пожалуйста.


15-1170681731
Ksenja
2007-02-05 16:22
2007.03.04
Выполнение работ по информат.