|
本帖最后由 236a 于 2020-3-1 13:18 编辑
程序是个dll ----------游戏名称:Counter-Strike Source
------------------------------------------
//进程附加:
case DLL_PROCESS_ATTACH:
cheat();
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
UnHook();
break;
---------------------------------------------------------------
void cheat()
{
CHAR Data[256];
DWORD Pid;
DWORD Cpid;
Hwnd = FindWindow(NULL,L"Counter-Strike Source");
if (Hwnd == NULL)
{
return;
}
GetWindowThreadProcessId(Hwnd,&Pid);
sprintf_s(Data,256,"%d",Pid);
::MessageBoxA(NULL,Data,"Pid",MB_OK);
Cpid = GetCurrentProcessId();
sprintf_s(Data, 256, "%d", Cpid);
::MessageBoxA(NULL, Data, "Cpid", MB_OK);
if (GetCurrentProcessId() == Pid)
{
::MessageBox(Hwnd,L"当前Pid获取成功:",L"提示:",MB_OK);
}
::MessageBox(Hwnd, L"当前Pid获取失败:", L"提示:", MB_OK);
}
GetCurrentProcessId()这个函数不能获取当前游戏的pid,把自己运行的程序本身pid给获取到了
我想获取游戏当前的pid,,不是程序本身的pid
在网上看了几篇帖子都是这杨写的 ,为什么我不行啊,,,难道是系统太新了吗win10不支持了
|
-
GetWindowThreadProcessId------(变量名:Pid)
-
GetCurrentProcessId-------(变量名:Cpid)
上一篇: 循环没执行下一篇: 一个多线程的问题求助下老大
|