`
sbabzc
  • 浏览: 36169 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

通过进程句柄关闭某个程序的进程

阅读更多
下面是具体代码
总共分为两个过程
EnumProcTree 主要用来枚举句柄树
KillProc 关闭某个程序的进程


procedure EnumProcTree(const PID: DWORD;
  out PID_Tree: TPIDTree);

  procedure ListTree(RootPID: DWORD);
  var
    hP_Root: THandle;
    Found: Boolean;
    Pn: TProcesseNtry32;
    hSnap: THandle;
  begin
    hP_Root := OpenProcess(PROCESS_ALL_ACCESS, False, RootPID);
    if hP_Root <> 0 then
    begin
      CloseHandle(hP_Root);

      SetLength(PID_Tree, Length(PID_Tree) + 1);
      PID_Tree[Length(PID_Tree) - 1] := RootPID;

      hSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
      Pn.dwSize := SizeOf(TProcesseNtry32);
      Found := Process32First(hSnap, Pn);
      while Found do
      begin
        if RootPID = Pn.th32ParentProcessID then
        begin
          ListTree(Pn.th32ProcessID);
        end;
        Found := Process32Next(hSnap, Pn);
      end;
      CloseHandle(hSnap);
    end;
  end;
begin
  SetLength(PID_Tree, 0);
  ListTree(PID);
end;

全部代码可以到
http://www.xszlo.com/article/2012-12-24/7746.html
查看
分享到:
评论

相关推荐

    易语言高强度防破解模块

    可以检测某个程序的里组件构造来识别或检测非法,等 .参数 窗口句柄, 整数型, , 获取该窗口下的第N个子控件句柄 .参数 控件Z级, 整数型, 参考 数组, 数组成员1代表该窗口下Z序的子控件句柄,成员2=Z序下的子子控件句柄...

    Unlockerv1.9.0多国语言版-进程解锁专家x32版

    Unlocker 不同于其它解锁软件的部分在于它并非强制关闭那些占用文件的程序,而是以解除文件与程序关连性的方式来解锁,因此不会像其它解锁程序一样因为强制关闭程序而造成使用者可能的数据遗失。 更新日志: - ...

    Visual C++开发经验技巧宝典(第9章)

    0548 判断某个程序是否运行 353 0549 设计具有插件功能的应用程序 355 0550 怎样在程序中执行DOS命令 359 0551 修改其他进程中窗口的标题 359 0552 如何设计换肤程序 360 0553 PE档案格式分析 364 0554...

    Visual C++开发经验技巧宝典(第9章)—1

    0548 判断某个程序是否运行 353 0549 设计具有插件功能的应用程序 355 0550 怎样在程序中执行DOS命令 359 0551 修改其他进程中窗口的标题 359 0552 如何设计换肤程序 360 0553 PE档案格式分析 364 0554...

    Window 消息大全

    消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    器的进程中将该进程结束,而后再次运行就没问题了,当然先关闭Qt Creator, 而后再重新打开,这样也能解决问题。 如果把程序改为这样: #include #include "widget.h" #include "mydlg.h" int main(int argc, char ...

    Windows窗口自动化操作类forVB6_V1.8 源代码

    clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如得到窗口句柄,得到窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做...

    Windows 系统错误代码简单分析

     0205 在命令子树中的进程没有信号句柄。  0206 文件名或扩展名太长。  0207 环 2 堆栈正在使用中。  0208 输入的全局文件名字符 * 或 ? 不正确,或指定的全局文件名字符太多。  0209 所发送的信号不...

    NC源码和程序附上目前最详细的使用手册和使用技巧

    或者只有再次连接使用pskill 杀掉进程.但是是否释放传输文件打开的句柄了? 13) 端口数据抓包. nc -vv -w 2 -o test.txt [url]www.m4ker.net[/url] 80 21-15 , command “” unr … ….. 14) ...

    1345个易语言模块

    关闭窗口或进程.ec 内存专用模块.ec 内 存优化.ec 内存优化模块.ec..ec 内存皮肤.ec 内存补丁模块.ec 内存读写.ec 内存读写66.ec 内 存读写和进程操作.ec 内存读写模块 2.0.ec 内存读写模块 2[1].0.ec 内存读写模块....

    易语言-Windows消息大全易语言版转换程序

    Windows消息大全易语言版,消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递...

    Windows窗口自动化操作类forVB6_V1.7纯净版 源码

    clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如得到窗口句柄,得到窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做...

    Windows窗口自动化操作类forVB6_V1.9beta clsWindow源码

    clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如得到窗口句柄,得到窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做...

    Windows窗口自动化操作类forVB6_V2.0 clsWindow源码

    clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如得到窗口句柄,得到窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做...

    Linux管理员指南

    令which 83 6.4.15 查找命令的保存位置命令whereis 83 6.4.16 释放...某个进程发送消息命令kill 87 6.6 其他工具 88 6.6.1 显示系统名称命令uname 88 6.6.2 查看用户命令who 88 6.6.3 改变用户身份...

    糖果的软件

    要解决上述问题,需要确定拥有文件打开句柄的进程,然后关闭此进程。 在以前的 Windows 中,我们可以使用资源工具包的 Oh.exe 。但在 XP 中,安装 好的 Support Tools 却不带 Oh.exe 。不过, XP 提供了一个新的...

    NC原版与VC60版本

    或者只有再次连接使用pskill 杀掉进程.但是是否释放传输文件打开的句柄了? 13) 端口数据抓包. nc -vv -w 2 -o test.txt [url]www.m4ker.net[/url] 80 21-15 , command “” unr … ….. 14) telnet,自动批处理。 nc...

    C#全能速查宝典

    《C#全能速查宝典》不仅适合C#程序设计初学者,也可作为中、高级程序开发人员的参考手册。 ============================================================ 图书目录 第1章 C#语言基础 1 1.1 常用概念、关键字及...

    netcat 瑞士军刀 linux windows netcat 瑞士军刀 linux windows

     问题:连接某个ip后,传送完成后,需要发送Ctrl+C退出nc.exe .  或者只有再次连接使用pskill.exe 杀掉进程.但是是否释放传输文件打开的句柄了?  3.6 端口数据抓包.  nc -vv -w 2 -o test.txt www. 80 21-15  ...

Global site tag (gtag.js) - Google Analytics