刺激战场
六合彩
贵宾厅
  • 3850阅读
  • 3回复

看了下重楼视屏,VS2008里怎么获取窗口PID? [复制链接]

上一主题 下一主题
离线13shaoye
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2013-08-18
新手学习VC++。
拿了 重楼的 Myhook 源码。不知道怎么获取窗口PID的。。。

以前在VB里知道怎么获取,但在VC++就不知道了,就想实现简单的 载入窗口 就直接显示下

游戏人物的一些基本属性。。。。

知道的大大 能贴个源码么? 武林外传的。。。
离线bokzylt212

只看该作者 沙发  发表于: 2013-08-18
GetWindowThreadProcessId()
离线fjk

只看该作者 板凳  发表于: 2013-08-21
LRESULT CALLBACK Gameproc(int nCode,WPARAM wParam, LPARAM lParam)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());

    PMSG pMsg = (PMSG)lParam;

    if(pMsg->message == WM_KEYUP)
    {
        if(pMsg->wParam == VK_HOME)
        {
            if(GameDLL == NULL)
            {

                GameHwnd = pMsg->hwnd;
                GameDLL = new CWGDLG();
                GameDLL->Create(IDD_DLG_MIAN);
                GameDLL->ShowWindow(TRUE);

            }
            else
            {
                if(GameDLL->IsWindowVisible())
                    GameDLL->ShowWindow(FALSE);
                else
                    GameDLL->ShowWindow(TRUE);
            }
        }
    }



    return CallNextHookEx(0,nCode,wParam,lParam);
}


void StartHook()
{
    static BOOL IsSetwindowsHook=FALSE;
    if (IsSetwindowsHook)
    {
        AfxMessageBox("辅助程序已经注入游戏,请按Home 呼出辅助界面");
            return ;
    }
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    HWND gameh=FindWindow("XAJHElementClient Web Window",NULL);
    if (gameh==0)
    {
        AfxMessageBox("未找到游戏");
        return;
    }
    DWORD tid=::GetWindowThreadProcessId(gameh,NULL);

    ::SetWindowsHookEx(WH_GETMESSAGE,Gameproc,::GetModuleHandle("GameDll.dll"),tid);
    IsSetwindowsHook=TRUE;
}
离线arqcg

只看该作者 地板  发表于: 2014-05-02
用户被禁言,该主题自动屏蔽!
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个