首页
社区
课程
招聘
[求助]war3 CreateToolhelp32Snapshot调用失败求救啊
发表于: 2014-2-26 23:32 4152

[求助]war3 CreateToolhelp32Snapshot调用失败求救啊

2014-2-26 23:32
4152
bool enableDebugPriv()
{
        HANDLE hToken;
        LUID sedebugnameValue;
        TOKEN_PRIVILEGES tkp;
        if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
        {
                return false;
        }
        if (!LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&sedebugnameValue))
        {
                CloseHandle(hToken);
                return false;
        }
        tkp.PrivilegeCount=1;
        tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
        tkp.Privileges[0].Luid=sedebugnameValue;
        if (!AdjustTokenPrivileges(hToken,FALSE,&tkp,sizeof(tkp),NULL,NULL))
        {CloseHandle(hToken);
        return false;
        }
        return true;
}
DWORD OpenMap(DWORD pid)
{
        MODULEENTRY32 me32;
        me32.dwSize=sizeof(MODULEENTRY32);
        HANDLE hSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pid);
        if(hSnap==INVALID_HANDLE_VALUE)
        {
                AfxMessageBox("创建快照失败!");
                DWORD eid=GetLastError();
                return 0;
        }
        BOOL        ret=Module32First(hSnap,&me32);
        do
        {
                if(!strcmp(me32.szModule,"Game.dll"))
                {
                        return (DWORD)(me32.modBaseAddr);
                }
        }while(ret=Module32Next(hSnap,&me32));

        return 0;
}
如上函数,当pid是War3的进程时就失败了啊,其他的没有问题,我的电脑是win7,求解决啊

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 110
活跃值: (527)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
参数错了.HANDLE hSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,0);
2014-2-27 11:28
0
游客
登录 | 注册 方可回帖
返回
//