通过进程句柄关闭某个程序的进程
下面是具体代码 总共分为两个过程 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,转发请保留这个地址,谢谢

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

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

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

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

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

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

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

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

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