1、 在Windows程序设计中遇到错误:
(1)IntelliSense: "const char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容
(2)IntelliSense: 不能将 "const char *" 类型的值分配到 "LPCWSTR" 类型的实体
#include <windows.h>
#include <stdio.h>
// 过程函数的定义
LRESULT CALLBACK WinSunProc(
HWND hwnd, //窗口句柄
UINT uMsg, //消息常量标识符
WPARAM wParam, //特定附加消息
LPARAM lParam //特定附加消息
)
{
switch (uMsg)
{
case WM_CHAR:
char szChar[20];
sprintf_s(szChar, "char code is %d", wParam);
MessageBox(hwnd, szChar, "char", 0);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd, "mouse clicked", "message", 0);
HDC hdc;
hdc = GetDC(hwnd); //不能在响应WM_PAINT消息时调用
TextOut(hdc, 0, 50, "你好", strlen("你好"));
//ReleaseDC(hwnd);
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC = BeginPaint(hwnd, &ps); //只能在WM_PAINT消息时调用
TextOut(hDC, 0, 0, "www.baidu.com", strlen("www.baid.com"));
EndPaint(hwnd, &ps);
break;
case

本文介绍了在Windows编程时遇到的IntelliSense错误,指出“const char *”类型的实参与“LPCWSTR”类型形参不兼容的问题。错误源于MFC程序中字符编码的不同,VC6默认使用MBCS,而VS2013及以上版本默认使用Unicode。文章解释了单字节字符集、多字节字符集和Unicode三种编码格式,并提供了通过修改工程属性为“使用多字节字符集”来解决该问题的方法。
最低0.47元/天 解锁文章
4640

被折叠的 条评论
为什么被折叠?



