首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

vc6.0可以成功运行的程序在VS2008下不行,该怎么解决

2012-04-16 
vc6.0可以成功运行的程序在VS2008下不行VC6.0生成的文件已经成功了。是VS2008没用?void CLlk_wgDlg::OnBtnR

vc6.0可以成功运行的程序在VS2008下不行
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); 
}


[解决办法]
很简单,在VS2010下默认的编码方式是UNICODE,当然要做一定的转化才可以的。
[解决办法]

C/C++ code
m_chessdata+= _T32
[解决办法]
或者你点击工程属性设置为MBCS,别用UNICODE

热点排行