|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
//游戏 功能函数
HWND game_wh;
ULONG game_ID;
HANDLE game_pH;
int tem_gold;
wchar_t hero_name[6];
const LPCSTR gameCaption="Heroes of Might and Magic III";
void checkGame()
{
//获取窗口句柄
HWND game_wh=::FindWindow(NULL,gameCaption);
if (game_wh==NULL) {::MessageBox(NULL,"耍我呢,游戏没开始呢!","嘿嘿",MB_OK);return;}
//获取窗口进程ID
::GetWindowThreadProcessId(game_wh,&game_ID);
//获取窗口进程句柄
game_pH=::OpenProcess(PROCESS_ALL_ACCESS,false,game_ID);
//读指定进程 内存数据
ULONG byread;
LPCVOID pbase=(LPCVOID)0x0487168b;
// LPVOID nbuffer=(LPVOID)hero_name;
//pbase=pbase+0x10000;
::ReadProcessMemory(game_pH,pbase,hero_name,12,&byread);
问题是0x0487168b这里的数据是个人名,用api函数ReadProcessMemory后,貌似得到的是个地址,诡异的是&hero_name却能得到实际的人名,但却不知道怎么判断,if((&hero_name)=="欧灵")
::MessageBox(NULL,"地址找到了","嘿嘿",MB_OK); 这样不行的。还是用strcmp啊。求指教
|
|