当前位置:主页>仓库管理软件> 列表

直接杀进程 找管家婆软件免费下载

销售管理软件版1楼: 我的程序框架式调用Dll非模式方式,在主程序关闭时高档机正常,中低档机器
经常报内存错误,为考虑改框架的代价想寻求windows 直接杀进程的API函数望高手
尽快答复。

2楼: 找到进程的ID
然后调用TerminateProcess试试 如管家婆管理软件

3楼: to: mike1234567890
怎样找到进程的id?[:)]

4楼: 先得到所有进程的名:
取得系统运行的进程名
var hCurrentWindow:HWnd;szText:array[0..254] of char;
begin
hCurrentWindow:=Getwindow(handle,GW_HWndFrist);
while hCurrentWindow <> 0 do
begin
if Getwindowtext(hcurrnetwindow,@sztext,255)>0 then listbox1.items.add(strpas(@sztext));
hCurrentWindow:=Getwindow(hCurrentwindow,GW_HWndNext);
end;
end;
然后,选择要结束的进程,得到其ID,再KILL

5楼: To:happycyp
可否把杀进程的代码写到程序内部?也就是说发生异常的时候杀死自己?

6楼: 直接TerminateProcess自己吧,我有个软件也这样写的。另外,也可以用halt方法,在需要中止程序的地方写Halt能达到一样的效果。

销售管理软件版7楼: [b]TerminateProcess[/b](hprocess:cardinal,uExitCode:cardinal)


参数hprocess:是Application.handle吗?
还有怎样得到uExitCode的值呢?
谢谢啦[:)][:)]

8楼: 杀自己容易,用 getcurrentprocessid,然后再TerminateProcess就行了。

9楼: 殺進程
procedure TForm1.Button1Click(Sender: TObject);
var
P:DWORD;
begin
begin
GetWindowThreadProcessId(Handle,@P);
if P<>0 then
TerminateProcess(OpenProcess(PROCESS_TERMINATE,False,P),$FFFFFFFF);
end;
end;

10楼: procedure TForm1.Button1Click(Sender: TObject);
var
P:DWORD;
begin
begin
GetWindowThreadProcessId(Handle,@P);//请问这个Handle为Application的还是当前 Form的
if P<>0 then
TerminateProcess(OpenProcess(PROCESS_TERMINATE,False,P),$FFFFFFFF);
//PROCESS_TERMINATE,$FFFFFFFF为何解?
end;
end;[black][/black]

11楼: 建议不要使用TerminateProcess函数
可以调用CloseHandle来关闭

12楼: procedure TForm1.Button1Click(Sender: TObject);
var
P:DWORD;
begin
begin
GetWindowThreadProcessId(Handle,@P);//请问这个Handle为Application的还是当前 Form的


if P<>0 then
TerminateProcess(OpenProcess(PROCESS_TERMINATE,False,P),$FFFFFFFF);
//PROCESS_TERMINATE,$FFFFFFFF为何解?
end;
end;[black][/black] 如管家婆软件免费下载