убить процесс
От: oleggar  
Дата: 25.07.06 06:46
Оценка:
Как уничтожить процесс (тот,что виден по ctrl+alt+del и не является службой ,но запускается под NT) ,из Делфи ,если нажатие на ctrl+alt+del +"end task" дает реакцию "Access is denied"?
Re: убить процесс
От: Cronium  
Дата: 25.07.06 07:22
Оценка:
Здравствуйте, oleggar, Вы писали:

O>Как уничтожить процесс (тот,что виден по ctrl+alt+del и не является службой ,но запускается под NT) ,из Делфи ,если нажатие на ctrl+alt+del +"end task" дает реакцию "Access is denied"?


попробуй так:
taskkill /F /T /IM process.exe

или из делфей:
procedure KillVes();
var
SEInfo: TShellExecuteInfo;
ExitCode: DWORD;
ExecuteFile, ParamString, StartInString: string;
begin
ExecuteFile:='taskkill';
ParamString:='/F /T /IM process.exe';

FillChar(SEInfo, SizeOf(SEInfo), 0);
SEInfo.cbSize := SizeOf(TShellExecuteInfo);
with SEInfo do begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := Application.Handle;
lpFile := PChar(ExecuteFile);
{
ParamString can contain the
application parameters.
}
lpParameters := PChar(ParamString);
{
StartInString specifies the
name of the working directory.
If ommited, the current directory is used.
}
// lpDirectory := PChar(StartInString);
nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx(@SEInfo) then begin
repeat
Application.ProcessMessages;
GetExitCodeProcess(SEInfo.hProcess, ExitCode);
until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
ShowMessage('Task killed');
end
else ShowMessage('Task not killed!');
end;
Re: убить процесс
От: ekamaloff Великобритания  
Дата: 25.07.06 07:23
Оценка:
Здравствуйте, oleggar, Вы писали:

O>Как уничтожить процесс (тот,что виден по ctrl+alt+del и не является службой ,но запускается под NT) ,из Делфи ,если нажатие на ctrl+alt+del +"end task" дает реакцию "Access is denied"?


TerminateProcess пробовал?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: убить процесс
От: Danchik Украина  
Дата: 25.07.06 12:51
Оценка:
Здравствуйте, oleggar, Вы писали:

O>Как уничтожить процесс (тот,что виден по ctrl+alt+del и не является службой ,но запускается под NT) ,из Делфи ,если нажатие на ctrl+alt+del +"end task" дает реакцию "Access is denied"?


Почитайте вот это:
Как завершить задачу в Windows NT (а заодно получить PID задачи)?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.