Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];

Вниз

Вопрос: Как убить процесс?   Найти похожие ветки 

 
Yanis   (2003-05-28 21:34) [0]

Мне известно имя процесса(по Диспечеру задач), процесс невидимый.
Собственно сам вопрос: Как убить этот самый процесс(убивать нада приблизительно раз в 2 минуты), у которого мне известно только имя?
Буду признателен всем кто примет любое участие в данном топике. Спасибо.


 
Holy   (2003-05-28 21:50) [1]

TerminateProcess() по-моему...., но сначала получить список процессов.


 
jack128   (2003-05-28 21:56) [2]

procedure TForm1.Button1Click(Sender: TObject);
var th : THandle;
pi : TProcessENTRY32;
ph : THAndle;
begin
th := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
pi.dwSize := SizeOf(pi);
if (th <> invalid_handle_value) and Process32First(th,pi) then begin
repeat
if pi.szExeFile = <твое имя> then
begin
ph := OpenProcess(PROCESS_TERMINATE,false,pi.th32ProcessID);
if ph <> INVALID_HANDLE_VALUE then
begin
TerminateProcess(ph,0);
CloseHandle(ph) ;
end;
Break;
end;
until not Process32Next(th,pi);
CloseHandle(th);
end;
end;


 
Yanis   (2003-05-28 21:58) [3]

А где про эту функцию написано? В WinXP не получается получить список всех процессов, т.е. скрытые не видно, как получить список всех процессов, а потом убить нужный?


 
Holy   (2003-05-28 22:02) [4]

msdn.microsoft.com но можно и MAPI от делфей.


 
default   (2003-05-28 22:11) [5]

см. раздел Tool Help Functions файла 95GUIDE.HLP
он в поставку Delphi входит
там про это всё написано


 
Yanis   (2003-05-29 09:15) [6]

To jack128 ©

var th : THandle;_________________________________?
pi : TProcessENTRY32;__________________________?
ph : THAndle;__________________________________?

CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);_______?


 
DVM   (2003-05-29 09:34) [7]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/terminateprocess.asp


 
Yanis   (2003-05-29 13:13) [8]

Спасибо большое всем кто хотя бы пытался мне помочь!!!!!!!!!!!!!
Я нашел решение проблемы убить процесс зная только его имя(которое можно посмотреть в Диспечере задач), если кому интересно вот код:

unit UProcessKiller;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,Tlhelp32,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
function KillTask(ExeFileName: string): integer;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

function TForm1.KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;

FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);

while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0),
FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle,
FProcessEntry32);
end;

CloseHandle(FSnapshotHandle);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.KillTask("NOTEPAD.EXE");
end;

end.




Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
3-26336
Zn
2003-05-20 10:24
2003.06.09
Проблеммы с отображением поля Float из подчинён. таблицы


1-26460
Yanis
2003-05-28 21:34
2003.06.09
Вопрос: Как убить процесс?


14-26675
softmaster
2003-05-24 14:25
2003.06.09
Проблема с ХР


3-26403
KIR
2003-05-21 17:45
2003.06.09
Можно ли программно создать резервную копию базы IB?


14-26651
МуМу
2003-05-21 12:13
2003.06.09
Как в DbGride привязать какие либо значения к полям грида.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский