在MFC添加消息响应函数过程中,遇到VS2013中出现“const char*”类型的实参与“LPCWSTR”类型的形参不兼容,怎么办
最开始解决,在项目中修改项目设置中的字符 Unicode 改为未设置,结果依然报错,要求改回Unicode。
之后找到在字符串之前加L,可顺利解决。类似 MessageBox(hWnd,L
"鼠标左键按下"
,L
"提示"
,1);
原因是Unicode 要求字符串一个占用两字节需要强行转换,详细信息查看https://blog.csdn.net/harrywater123/article/details/51418888
所以经过查询有两种解决方法:
1.MessageBox(_T("鼠标左键按下"));等价 MessageBox(TEXT("鼠标左键按下"));
2.MessageBox(L"鼠标左键按下");