int CALLBACK WinMain(
_In_ HINSTANCE hInstance,
_In_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nCmdShow
)
{
WNDCLASS wndcls;
wndcls.cbClsExtra = 0;
wndcls.cbWndExtra = 0;
wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);
wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);
wndcls.hInstance = hInstance;
wndcls.lpfnWndProc = WinSunProc;
wndcls.lpszClassName = "WeiXin2003";
wndcls.lpszMenuName = NULL;
wndcls.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls); 编译错误:【 "WNDCLASS *" 类型的实参与 "const WNDCLASSA *" 类型的形参不兼容】
HWND hwnd;
hwnd = CreateWindow("WeiXin2003", "北京微新科学技术培训中心", WS_OVERLAPPEDWINDOW, 0, 0, 600, 400, NULL, NULL, hInstance, NULL);
ShowWindow(hwnd, SW_SHOWNORMAL);
UpdateWindow(hwnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
8 个解决方案
#1
项目编译环境没弄好吧, #include <windows.h> ?
#2
前面没贴上去,有#include
#3
使用 RegisterClassA 或者 RegisterClassW。
主要字符集的问题。
主要字符集的问题。
#4
是否代码中设置了多字节或UNICODE 与编译环境设置的冲突了
#5
RegisterClass(
(const WNDCLASSA *)&wndcls);
#6
RegisterClass(&wndcls); 编译错误:【 "WNDCLASS *" 类型的实参与 "const WNDCLASSA *" 类型的形参不兼容】
这句代码应该是没有错的。
这句代码应该是没有错的。
#7
我代码中设置了多字节,请问如何修改?当时设置多字节的原因是使用wndclass函数是出现编译错误【不能将参数从“LPCTSTR”转化为“const char*” 】
#8
我代码中设置了多字节,请问如何修改?当时设置多字节的原因是使用wndclass函数是出现编译错误【不能将参数从“LPCTSTR”转化为“const char*” 】
#1
项目编译环境没弄好吧, #include <windows.h> ?
#2
前面没贴上去,有#include
#3
使用 RegisterClassA 或者 RegisterClassW。
主要字符集的问题。
主要字符集的问题。
#4
是否代码中设置了多字节或UNICODE 与编译环境设置的冲突了
#5
RegisterClass(
(const WNDCLASSA *)&wndcls);
#6
RegisterClass(&wndcls); 编译错误:【 "WNDCLASS *" 类型的实参与 "const WNDCLASSA *" 类型的形参不兼容】
这句代码应该是没有错的。
这句代码应该是没有错的。
#7
我代码中设置了多字节,请问如何修改?当时设置多字节的原因是使用wndclass函数是出现编译错误【不能将参数从“LPCTSTR”转化为“const char*” 】
#8
我代码中设置了多字节,请问如何修改?当时设置多字节的原因是使用wndclass函数是出现编译错误【不能将参数从“LPCTSTR”转化为“const char*” 】