首页
社区
课程
招聘
[求助]delphi终止线程的问题……
发表于: 2009-8-8 11:39 10298

[求助]delphi终止线程的问题……

2009-8-8 11:39
10298
初学delphi好高骛远地写了一个终止进程线程的函数……老是异常……用OD调试的时候感觉像是堆栈不平衡,还像是OpenThead引起的,不知道如何解决,望高手指教……
function KillAllThread(ProId:dword):BOOL;
var
hSnapshot:DWORD;
lpte:TThreadEntry32;
fou:bool;
hthread:DWORD;
begin
  hSnapshot:=CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,0);
  lpte.dwSize :=SizeOf(TThreadEntry32);
  fou:=Thread32First(hSnapshot,lpte);
     while fou  do begin
      if lpte.th32OwnerProcessID = ProId then begin
         hthread:=OpenThread($1F0FFF,False,lpte.th32ThreadID);
         TerminateThread(hthread,0);
         closehandle(hthread);
         end;
      fou:=Thread32Next(hSnapshot,lpte);
      end;
  closehandle(hSnapshot);
end;

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
先要提权,权限不够
2009-9-16 15:37
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
那个异常可能是由于句柄无效,TerminateThread之前应该判断一下
2009-9-16 16:01
0
游客
登录 | 注册 方可回帖
返回
//