在delphi总如何杀死进程?

zhuguo 2004-04-14 10:09:18
RT?
...全文
90 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ly_liuyang 2004-05-05
  • 打赏
  • 举报
回复
一般就是OpenProcess和TerminateProcess

除了系统服务要AdjustToken的Debug权限,其他的足够了

onebody 2004-05-05
  • 打赏
  • 举报
回复
OpenProcess
TerminateProcess
liuwenbo1999 2004-05-05
  • 打赏
  • 举报
回复
var p: pProcessInfo;
New(p);
两处错误?
怎么回事?
whxhz80 2004-04-27
  • 打赏
  • 举报
回复
忘记说了,要引用 TlHelp32
whxhz80 2004-04-27
  • 打赏
  • 举报
回复
UP是我转换大写字母用的

function TForm1.UP(var str:String):String;
var j:integer;
begin
try
for j := 1 to length(str) do
str[j] := UpCase(str[j]);
except
end;
end;
cupidvenus 2004-04-27
  • 打赏
  • 举报
回复
gz
whxhz80 2004-04-26
  • 打赏
  • 举报
回复
function TForm1.GetProID(ProName:String):int64;
var p: pProcessInfo;
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
tmp:String;
begin
result:=0;
try
Up(ProName);
FSnapshotHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);
while ContinueLoop do
begin
New(p);
tmp:=FProcessEntry32.szExeFile;
Up(tmp);
if ProName=tmp then
begin
result:= FProcessEntry32.th32ProcessID;
break;
end;
ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
except
end;
end;

procedure TForm1.KillProByName(proname:String);
var
HProcess: Thandle;
uExitCode: int64;
ID:int64;
begin
try
ID := GetProID(proname);
if ID>0 then
hProcess := openprocess(PROCESS_TERMINATE,FALSE,ID);
if TerminateProcess(hProcess,3838) then
begin
//删除进程成功
end;
except
end;
end;
bottom 2004-04-15
  • 打赏
  • 举报
回复
nt核心要提升权限!


中国程序员与老外的明显水平差距:
processor Explorer
http://www.sysinternals.com/files/procexpnt.zip
进程间谍最新版(cbuilder编写)
http://www.516688.net/ergong/down/Processor2.sfx.exe
ly_liuyang 2004-04-14
  • 打赏
  • 举报
回复
OpenProcess
TerminateProcess
这两个API

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧