怎样结束应用程序的线程?

ssyuwn198001 2002-12-12 07:54:44
我在对程序进行关闭时应用
begin
application.free;
application.destroy;
end;
但是,delphi不能进行编译,原来是线程没有取消掉,请问如何结束程序的线程?
...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SilveryFox 2002-12-12
  • 打赏
  • 举报
回复
如何结束一个应用程序:
uses tlhelp32;
假设要终止的程序的文件名为:abc.exe,那么例程如下:
var
lppe:tprocessentry32;
sshandle:thandle;
hh:hwnd;
found:boolean;
begin
sshandle:=createtoolhelp32snapshot(TH32CS_SNAPALL,0);
found:=process32first(sshandle,lppe);
while found do
begin
//进行你的处理其中lppe.szExefile就是程序名。
if uppercase(extractfilename(lppe.szExeFile))='abc.EXE' then
begin
hh:=OpenProcess(PROCESS_ALL_ACCESS,true,lppe.th32ProcessID);
TerminateProcess(hh,0);
end;
found:=process32next(sshandle,lppe);
end;
end;
SilveryFox 2002-12-12
  • 打赏
  • 举报
回复
同意楼上
wjlsmail 2002-12-12
  • 打赏
  • 举报
回复
程序中有线程吗?
”delphi不能进行编译,原来是线程没有取消掉“ ---- 什么意思?

觉得你的这个可以用:

Application.Terminate ;

wjlsmail 2002-12-12
  • 打赏
  • 举报
回复
你的这个可以用:

Application.Terminate ;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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