首页 数据库 mysql教程 通过进程句柄关闭某个程序的进程

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

Jun 07, 2016 pm 03:30 PM
下面 代码 关闭 具体 句柄 程序 进程 通过

下面是具体代码 总共分为两个过程 EnumProcTree 主要用来枚举句柄树 KillProc 关闭 某个 程序 的 进程 procedure EnumProcTree(const PID: DWORD; out PID_Tree: TPIDTree); procedure ListTree(RootPID: DWORD); var hP_Root: THandle; Found: Boolean; Pn:

下面是具体代码 
总共分为两个过程 
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; 

KillProc过程的参数: 
PID需要结束的句柄ID 
Killchild是否结束子进程 

如果KillChild是True,那么首先枚举所有的子句柄,然后一次性都关闭 
procedure KillProc(PID: DWORD; Killchild: Boolean = True; const ExitCode: Cardinal = 0); 
var 
  i: integer; 
  hProc: THandle; 
  PID_Tree: TPIDTree; 
begin 
  if Killchild then 
  begin 
    EnumProcTree(PID, PID_Tree); 

    for i := High(PID_Tree) downto Low(PID_Tree) do 
    begin 
      if (PID_Tree[i] 0) then 
      begin 
        hProc := OpenProcess(PROCESS_ALL_ACCESS, False, PID_Tree[i]); 
        if hProc 0 then 
        begin 
          TerminateProcess(hProc, ExitCode); 
          CloseHandle(hProc); 
        end; 
      end; 
    end; 
  end 
  else 
  begin 
    hProc := OpenProcess(PROCESS_ALL_ACCESS, False, PID); 
    if hProc 0 then 
    begin 
      TerminateProcess(hProc, ExitCode); 
      CloseHandle(hProc); 
    end; 
  end; 
end; 

使用代码 
KillProc(lpProcessInformation.dwProcessId, True, Result); 

lpProcessInformation.dwProcessId 进程的句柄ID 
True结束子进程 
本文地址:http://www.xszlo.com/article/2012-12-24/7746.html,转发请保留这个地址,谢谢

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在iPhone中使Google地图成为默认地图 如何在iPhone中使Google地图成为默认地图 Apr 17, 2024 pm 07:34 PM

iPhone上的默认地图是Apple专有的地理位置提供商“地图”。尽管地图越来越好,但它在美国以外的地区运行不佳。与谷歌地图相比,它没有什么可提供的。在本文中,我们讨论了使用Google地图成为iPhone上的默认地图的可行性步骤。如何在iPhone中使Google地图成为默认地图将Google地图设置为手机上的默认地图应用程序比您想象的要容易。请按照以下步骤操作–先决条件步骤–您必须在手机上安装Gmail。步骤1–打开AppStore。步骤2–搜索“Gmail”。步骤3–点击Gmail应用旁

iPhone中缺少时钟应用程序:如何修复 iPhone中缺少时钟应用程序:如何修复 May 03, 2024 pm 09:19 PM

您的手机中缺少时钟应用程序吗?日期和时间仍将显示在iPhone的状态栏上。但是,如果没有时钟应用程序,您将无法使用世界时钟、秒表、闹钟等多项功能。因此,修复时钟应用程序的缺失应该是您的待办事项列表的首位。这些解决方案可以帮助您解决此问题。修复1–放置时钟应用程序如果您错误地从主屏幕中删除了时钟应用程序,您可以将时钟应用程序放回原位。步骤1–解锁iPhone并开始向左侧滑动,直到到达“应用程序库”页面。步骤2–接下来,在搜索框中搜索“时钟”。步骤3–当您在搜索结果中看到下方的“时钟”时,请按住它并

快手怎么关闭免密支付 快手关闭免密支付方法教程 快手怎么关闭免密支付 快手关闭免密支付方法教程 Mar 23, 2024 pm 09:21 PM

  快手是一款很卓越的视频播放器,快手中的免密支付功能小伙伴们都非常熟悉,在日常生活中可以给我们很大的帮助,尤其是在平台中购买自己需要的商品时可以更好的去支付,我们现在要去取消掉该如何操作呢?怎么样才能真正有效取消掉免密支付功能?免密支付取消的方法非常简单,具体的操作方法已经整理好了,让我们一起到本站本站中来看整篇攻略吧,希望能够帮助到大家。快手关闭免密支付方法教程  1、打开快手app,点击左上角的三根横线。  2、点击快手小店。  3、在上面的选项栏中,找到免密支付并点击进去。  4、点击支

如何在Windows 11中关闭安全中心 如何在Windows 11中关闭安全中心 Mar 28, 2024 am 10:21 AM

Windows11是微软公司最新推出的操作系统版本,相比之前的版本,Windows11对系统安全性进行了更为严格的管理和监控,其中一个重要的功能就是安全中心。安全中心可以帮助用户管理和监控系统的安全状态,确保系统不受恶意软件和其他安全威胁的侵害。虽然安全中心对于保护系统安全很重要,但有时候用户可能因为个人需求或其他原因希望关闭安全中心。本文将介绍如何在W

Windows 11安全中心关闭方法详解 Windows 11安全中心关闭方法详解 Mar 27, 2024 pm 03:27 PM

在Windows11操作系统中,安全中心是一个重要的功能,它帮助用户监控系统安全状态、防御恶意软件和保护个人隐私。然而,有时候用户可能需要临时关闭安全中心,例如在安装某些软件或进行系统调优时。本文将详细介绍Windows11安全中心的关闭方法,帮助您正确和安全地操作系统。1.如何关闭Windows11安全中心在Windows11中,关闭安全中心并不

无法允许访问 iPhone 中的摄像头和麦克风 无法允许访问 iPhone 中的摄像头和麦克风 Apr 23, 2024 am 11:13 AM

您在尝试使用应用程序时是否收到“无法允许访问摄像头和麦克风”?通常,您可以在需要提供的基础上向特定对象授予摄像头和麦克风权限。但是,如果您拒绝权限,摄像头和麦克风将无法工作,而是显示此错误消息。解决这个问题是非常基本的,你可以在一两分钟内完成。修复1–提供相机、麦克风权限您可以直接在设置中提供必要的摄像头和麦克风权限。步骤1–转到“设置”选项卡。步骤2–打开“隐私与安全”面板。步骤3–在那里打开“相机”权限。步骤4–在里面,您将找到已请求手机相机权限的应用程序列表。步骤5–打开指定应用的“相机”

Windows安全中心实时保护关闭方法详解 Windows安全中心实时保护关闭方法详解 Mar 27, 2024 pm 02:30 PM

Windows操作系统作为全球用户数量最庞大的操作系统之一,一直以来备受用户青睐。然而,在使用Windows系统时,用户们可能会遇到诸多安全隐患,如病毒攻击、恶意软件等威胁。为了强化系统安全,Windows系统内置了许多安全保护机制,其中之一便是Windows安全中心的实时保护功能。今天,我们将会详细介绍Windows安全中心实时保护的关闭方法。首先,让我们

opporeno5去哪关闭杜比全景声_禁用opporeno5杜比全景声方法 opporeno5去哪关闭杜比全景声_禁用opporeno5杜比全景声方法 Mar 25, 2024 pm 04:41 PM

1、在手机设置中点击声音与振动。2、点击杜比全景音。3、将杜比全景声后面的开关关闭即可。

See all articles