VC6.0生成的文件已经成功了。是VS2008没用?void CLlk_wgDlg::OnBtnReadchess()
{
// TODO: Add your control notification handler code here
//获取窗口句柄
HWND gameh=::FindWindow(NULL,gameCaption);
//获取窗口进程ID
DWORD processid;
::GetWindowThreadProcessId(gameh,&processid);
//打开指定进程
HANDLE processH=::OpenProcess(PROCESS_ALL_ACCESS,false,processid);
//读指定进程 内存数据
DWORD byread;
LPCVOID pbase=(LPCVOID)0x0012A444; //棋盘数据基址
LPVOID nbuffer=(LPVOID)&chessdata; //存放棋盘数据
::ReadProcessMemory(processH,pbase,nbuffer,11*19,&byread);
///显示棋盘数据
char buf[11];
m_chessdata=""; //清空编辑
for (int y=0;y<=10;y++)
{
for (int x=0;x<=18;x++) //读一行
{
itoa(chessdata[y][x],buf,16); //转换成字串
m_chessdata+=buf;
m_chessdata+=" ";
}
//换行
m_chessdata+="\r\n";
}
UpdateData(false);
}
{
// TODO: Add your control notification handler code here
//获取窗口句柄
HWND gameh=::FindWindow(NULL,gameCaption);
//获取窗口进程ID
DWORD processid;
::GetWindowThreadProcessId(gameh,&processid);
//打开指定进程
HANDLE processH=::OpenProcess(PROCESS_ALL_ACCESS,false,processid);
//读指定进程 内存数据
DWORD byread;
LPCVOID pbase=(LPCVOID)0x0012A444; //棋盘数据基址
LPVOID nbuffer=(LPVOID)&chessdata; //存放棋盘数据
::ReadProcessMemory(processH,pbase,nbuffer,11*19,&byread);
///显示棋盘数据
char buf[11];
m_chessdata=""; //清空编辑
for (int y=0;y<=10;y++)
{
for (int x=0;x<=18;x++) //读一行
{
itoa(chessdata[y][x],buf,16); //转换成字串
m_chessdata+=buf;
m_chessdata+=" ";
}
//换行
m_chessdata+="\r\n";
}
UpdateData(false);
}
m_chessdata+= _T("\r\n");//类似这样的处理一下即可