#include<windows.h>
#pragma comment(linker,"/subsystem:\"console\" /entry:\"WinMainCRTStartup\"")
LRESULT CALLBACK MyfWindowProcW(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProcW(hWnd,message,wParam,lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
//TCHAR MYCLASS[8]="MYCLASS";
WNDCLASSEX WCEX;
WCEX.cbSize=sizeof(WNDCLASSEX);
WCEX.style=CS_HREDRAW|CS_VREDRAW;
WCEX.lpfnWndProc= DefWindowProc;
WCEX.cbClsExtra=0;
WCEX.cbWndExtra=0;
WCEX.hInstance=hInstance;
WCEX.hIcon=NULL;
WCEX.hCursor=LoadCursor(NULL,IDC_ARROW);
WCEX.hbrBackground=(HBRUSH)(COLOR_WINDOW + 1);
WCEX.lpszMenuName=NULL;
WCEX.lpszClassName="MYCLASS";
WCEX.hIconSm=NULL;
while(0==RegisterClassEx(&WCEX));
HWND hWnd = CreateWindowW(L"MYCLASS", //窗口类的名字
L"welcome", //标题名字
WS_OVERLAPPEDWINDOW,//窗口显示风格
CW_USEDEFAULT, 0, CW_USEDEFAULT, 1080,// 初始位置坐标及大小
NULL, //父窗口句柄
NULL,//菜单句柄或子窗口标识
hInstance, //实例句柄
NULL);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
MSG msg;
while (GetMessage(&msg, hWnd, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
MessageBox(NULL,(LPCSTR)"我的第一个图形程序",(LPCSTR)"welcome",MB_OK);
return 0;
}
为什么又默认的窗口过程函数DefWindowProc()不会有乱码
而用自定义的会有乱码
使用的是多字节字符集?
使用Uniocde字符集报错
求大佬解答,有什么好的学习API书籍推荐吗?
救救孩子吧
应该是电脑默认GBK编码,然后你配置没配好,配的Unicode,然后就报错了。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y