强制释放线程--高分重谢

iamduo 2015-11-28 08:17:21
我得到一个DLL(无源代码)。
加载和使用没有问题。
但是释放的时候,会卡住。(应该是类似TThread在DLL中释放的问题)。

我用 Process Explorer 里kill线程的方式,可以作为一个补救方案。
但是,我不知道它是怎么做到强杀的。

因为,我在自己的代码中,故意加了一个线程,断点修改参数的方式。
调用 TerminateThread,但是没有达到 Process Explorer 的效果。

有哪位大牛知道它的 Kill 是怎么实现的吗?
...全文
218 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lpc001x 2019-05-31
  • 打赏
  • 举报
回复
楼主,你的联系方式能否给个?QQ或者微信
pathletboy 2015-11-29
  • 打赏
  • 举报
回复
自己声明下OpenThread,然后传入参数调用就可以获取句柄。
function  OpenThread(dwDesiredAccess:  DWORD;  bInheritHandle:     
                    BOOL;  dwProcessId:  DWORD):  THandle;  external
                    kernel32  name  'OpenThread';
iamduo 2015-11-28
  • 打赏
  • 举报
回复
好吧。 可能问题是出在, TerminateThread 要求 Thread Handle,而我只有 ThreadID, 有没有什么办法根据 ThreadId 获得 Thread Handle?

1,183

社区成员

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

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