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 绘制精美的签名图片

Delphi2010 图片格式转换bmp, png,jpeg, gif, tiff , wmphoto

Delphi 高速替换大文本字符串内容

Delphi 软件welcome窗口代码

Delphi xe2读取内存偏移数据代码

Delphi怎么样选择pagecontrol1的分页

Delphi编程之显示桌面分辨率

Delphi clientdataset 与fdmemtable 创建 字段与追加记录

Delphi webbrowser载入自定义html内容并显示

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



打赏

取消

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

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

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

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

评论

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