VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 92|回复: 1

获取当前pid失败

[复制链接]
19_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-1 13:14:29 | 显示全部楼层 |阅读模式
本帖最后由 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)

GetWindowThreadProcessId------(变量名:Pid)

GetCurrentProcessId-------(变量名:Cpid)

GetCurrentProcessId-------(变量名:Cpid)




上一篇:循环没执行
下一篇:一个多线程的问题求助下老大
77_avatar_middle
最佳答案
21 
online_vip 发表于 2020-3-1 14:01:00 | 显示全部楼层
你的DLL是注入到哪里面了?如果你的DLL在你的进程中,那么 GetCurrentProcessId 返回的肯定是你当前程序的啊
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-4-1 20:23

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表