Delphi注入DLL 如何获取当前进程名

就是判断当前进程是否是我想要注入的进程,如QQ.exe如果是这个进程就载入DLL,希望大家给我说详细点,初学Delphi!!!... 就是判断当前进程是否是我想要注入的进程,如QQ.exe
如果是这个进程就载入DLL,希望大家给我说详细点,初学Delphi!!!
展开
 我来答
士新瑶Nn
推荐于2016-07-11 · 超过13用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:67万
展开全部
比如你想注入的进程是QQ.EXE
那么首先判断进程是否存在,判断方法如下:
在USES 中加入TLhelp32单元
function Tform1.CheckTask(ExeFileName: string): Boolean;\\判断进程是否存在
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := False;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);
while integer(ContinueLoop) <> 0 do begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =UpperCase(ExeFileName))) then
result := True;
ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);
end;
end;
调用方法:
procedure TForm1.Button1Click(Sender: TObject);\\按钮上单击事件
begin
if CheckTask('qq.exe')=true then\\判断qq.exe是否存在
showmessage('QQ进程存在!');//如果存在一个提示
//(当然这里你可以换成你想执行的代码:载入DLL。根据你的需要而定吧)
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
经典潜水员
2010-10-30
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
遍历进程!
是就注入!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sgzhou123456
2010-10-30 · 贡献了超过135个回答
知道答主
回答量:135
采纳率:0%
帮助的人:16.3万
展开全部
我也在学习中》》》》》》》》》》》》
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式