C++ 如何找出我的dll连接到哪个进程?

C++ 如何找出我的dll连接到哪个进程?,c++,process,dll-injection,C++,Process,Dll Injection,在我的dll文件被注入一个进程之前,我想检查它是否真的是我想要它注入的进程。有没有办法做到这一点,如果注射过程出错,我可以中止注射过程? 提前感谢您的帮助 int-apitery-DllMain(HMODULE-HMODULE,DWORD-reason,LPVOID保留) { 如果(原因==DLL\U进程\U附加) { if(进程==进程对象) { //给我的东西打电话。。。。 } } 返回true; } 好的,谢谢你的建议,我找到了一个有效的方法 DWORD targetProcessId;

在我的dll文件被注入一个进程之前,我想检查它是否真的是我想要它注入的进程。有没有办法做到这一点,如果注射过程出错,我可以中止注射过程? 提前感谢您的帮助

int-apitery-DllMain(HMODULE-HMODULE,DWORD-reason,LPVOID保留)
{
如果(原因==DLL\U进程\U附加)
{
if(进程==进程对象)
{
//给我的东西打电话。。。。
}
}
返回true;
}

好的,谢谢你的建议,我找到了一个有效的方法

DWORD targetProcessId;
int APICENT DllMain(HMODULE HMODULE,DWORD REASURE,LPVOID保留)
{
PROCESSENTRY32条目;
entry.dwSize=sizeof(PROCESSENTRY32);
HANDLE snapshot=CreateToolhelp32Snapshot(TH32CS\u SNAPPROCESS,NULL);
if(Process32First(快照和条目)==TRUE)
{
while(Process32Next(快照和条目)==TRUE)
{
如果(_stricmp(entry.szExeFile,“target.exe”)==0)
{
targetProcessId=entry.th32ProcessID;
}
}
}
CloseHandle(快照);
如果(原因==DLL\U进程\U附加)
{
if(GetCurrentProcessId()==targetProcessId)
{
//我的代码
}
}
返回true;
}
将为您提供已注入其进程的可执行文件的完整路径。将此路径与预定义的可执行路径进行比较。

可能有帮助(如果不是重复的话):