delphi 检查自己的进程的父进程


本文整理自网络,侵删。

 //检查自己的进程的父进程
procedure CheckParentProc;
var //检查自己的进程的父进程
Pn: TProcesseNtry32;
sHandle:THandle;
H,ExplProc,ParentProc:Hwnd;
Found:Boolean;
Buffer:array[0..1023]of Char;
Path:string;
begin
H:= 0;
ExplProc:= 0;
ParentProc:= 0;
//得到Windows的目录;
SetString(Path,Buffer,GetWindowsDirectory(Buffer,Sizeof(Buffer)- 1));
Path:= UpperCase(Path)+ '\Explorer.EXE';//得到Explorer的路径
//得到所有进程的列表快照
sHandle:= CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
Found:= Process32First(sHandle,Pn);//查找进程
while Found do //遍历所有进程
begin
if Pn.szExeFile = ParamStr(0) then //自己的进程
begin
ParentProc:= Pn.th32ParentProcessID;//得到父进程的进程ID
//父进程的句柄
H:= OpenProcess(PROCESS_ALL_ACCESS,True,Pn.th32ParentProcessID);
end
else if UpperCase(Pn.szExeFile)= Path then
begin
ExplProc:= Pn.th32ProcessID;//Ex plorer的PID
Found:= Process32Next(sHandle,Pn);//查找下一个
end;

//父进程不是Explorer,是调试器……
if ParentProc <> ExplProc then
begin
TerminateProcess(H,0);
while 1<>1 do
Application.MessageBox('', '', MB_OK + MB_ICONSTOP);
end;
end;
end;

相关阅读 >>

Delphi 屏蔽汉字,年月日,时间,银行卡正则表达式

Delphi中用idhttp获取json数据乱码问题

Delphi issameday、istoday - 判断是不是同一天、判断是不是今天

Delphi timer定时器使用

在rad studio Delphi或c++安卓应用中使用自定义java库

Delphi中利用中断获得系统启动以来的时间

Delphi 判断文件是否被使用

Delphi 提取标签之间的字符串(重复标签)

Delphi 使用 tedgebrowser 组件

Delphi 文件/流的加密解密单元 unit_compress.pas

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...