做个简单的windows程序,可是无法显示创建的窗口

心已死两目茫然 心已死两目茫然 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我是在VS2008下运行的,下面是代码:

#include <windows.h>
#include <stdio.h>
const size_t namesize = 100;
const TCHAR classname[namesize] = L"wenxing";

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
{
switch(message)
{
case WM_CHAR:
wchar_t szChar[20];
//sprintf(szChar,"char is code %d",wparam);
MessageBox(hwnd,szChar,L"char",0);
break;
}
return 0;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nShowCmd)
{

WNDCLASS wnd;
wnd.style = CS_HREDRAW | CS_VREDRAW;
wnd.lpfnWndProc = WndProc;
wnd.cbClsExtra = 0;
wnd.cbWndExtra = 0;
wnd.hInstance = hInstance;
wnd.hIcon = LoadIcon(NULL,IDI_ERROR);
wnd.hCursor = LoadCursor(NULL,IDC_ARROW);
wnd.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wnd.lpszMenuName = NULL;
wnd.lpszClassName = classname;

ATOM atom = RegisterClass(&wnd);

if(!atom)
MessageBox(NULL,L"1233",L"lqm",MB_OKCANCEL);

HWND hand = NULL;
hand = CreateWindow(classname,L"Hello",WS_OVERLAPPEDWINDOW,0,0,800,600,NULL,NULL,hInstance,NULL);
ShowWindow(hand,SW_SHOWNORMAL);
if(!hand)
{
if(IDYES == MessageBox(NULL,L"创建失败!",L"lqm",MB_YESNO))
exit(0);
}
UpdateWindow(hand);
}

我的问题是程序编译没有错误,看进程中也能查到这个程序在运行,可是就无法显示窗口,请高手指点一下。
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
心已死两目茫然
C++ 语言 65,214 成员 250,514 内容