中国生化药物杂志 停办:vs2005 C++

来源:百度文库 编辑:高考问答 时间:2024/05/03 06:06:12
各位先进好!
小弟是个windows程式设计的入门者, 所以遇到以下的程式编译错误, 完全不知所错. 请问该如何改呢?

我使用的开发平台vc++ 2005

这个程式片段是书上的, 主要的功能是撷取键盘的字显示在视窗中

char szBuf[2];

szBuf[0] = (char)MapVirtualKey(wParam, 2);
szBuf[1] = 0;

hdc = GetDC(hwnd);
TextOut(hdc, cxCaret, cyCaret, szBuf, lstrlen(szBuf));
ReleaseDC(hwnd, hdc);
return 0;

错误如下:
error C2664: 'lstrlenW' : 无法将参数 1 从 'char [2]' 转换成 'LPCWSTR'
指向的型别没有相关; 转换必须有 reinterpret_cast、C-Style 转换或函式样式转换
error C2664: 'TextOutW' : 无法将参数 4 从 'char [2]' 转换成 'LPCWSTR'
指向的型别没有相关; 转换必须有 reinterpret_cast、C-Style 转换或函式样式转换

ps. 顺便请要各位先进, 上面这个方法好像只能处理英文字, 但是中文的部分该如何处理呢?

函数传参类型不匹配 查MSDN