能力值:
( LV2,RANK:10 )
2 楼
有没有人能回一句 不管是帖子有问题,还是问的问题比较低级,能不能来个人指正一下 ,都看过不冒泡不好吧,新人来问点东西,不用这么冷漠吧
能力值:
( LV3,RANK:30 )
3 楼
上代码
能力值:
( LV2,RANK:10 )
4 楼
void postMSG() { char* name = "遍历"; int i = 20; while (i > 0) { ::SendMessageA(GetGameHandle(), MyGameMsg, 0, (LPARAM)name); Sleep(200); i--; } return; } void CMainDialogWnd::OnBnClickedBegin() { // TODO: 在此添加控件通知处理程序代码 TRACE("Game:尝试发送信息:"); CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)postMSG, NULL, NULL, NULL); TRACE("Game:消息发送完成:%x,%d",GetGameHandle(),MyGameMsg); } LRESULT CALLBACK GameWndProc(int nCode,WPARAM wParam,LPARAM lParam) { CWPSTRUCT *MSG_WndGame= (CWPSTRUCT *)lParam; if (nCode == HC_ACTION) { if (MSG_WndGame->hwnd == GetGameHandle() && MSG_WndGame->message == MyGameMsg) { try { ID = (DWORD)*(addrss + 2); if (ID == 0) { addrss = addrss + 6; return 0; } } catch (...) { return 0; } if (ID != 0) { try { Name = (char*)((DWORD*)*(DWORD*)(addrss + 3) + 1); } catch (...) { return 0; } } TRACE("Game:名字%s,地址:%x,名字地址:%x,ID:%x ", Name, addrss, Name, ID); addrss = addrss + 6; return 1; } } TRACE("收到消息:没收到"); return CallNextHookEx(G_hhkGame,nCode,wParam,lParam); }
能力值:
( LV2,RANK:10 )
5 楼
因为是新手 不太会写 DLL就这一个功能 不用考虑方法冲突什么的 流程就是 点击按钮 HOOK主线程 创建线程给主线程发送消息 HOOK截获到 执行自己的处理程序 处理程序也很简单 就是输出一下遍历的信息 然后问题就是输出一会就会崩溃
能力值:
( LV2,RANK:10 )
6 楼
虽然看书知道有多线程同时访问数据会出现异常,但是这是HOOK主线程 应该不会发生同时访问的问题吧,实在是没有思路
能力值:
( LV3,RANK:20 )
7 楼
这个TRACE 是仅在DEBUG下面的吧
能力值:
( LV12,RANK:380 )
8 楼
addrss 出内存访问异常了吧 把信息贴全
能力值:
( LV2,RANK:10 )
9 楼
Tennn
addrss 出内存访问异常了吧 把信息贴全
多谢各位 经过跟踪确实是 访问内存出了异常,已经解决,谢谢各位