RT:创将一个空的窗口
方法:1.打开VS2013-->新建项目--->Win32项目--->空项目--->OK.
2.在该文件下新建一个源文件,代码如下:
#include<windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //函数说明
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS wndcls;//定义的窗口的类
wndcls.style = 0;
wndcls.lpfnWndProc = WndProc;//定义窗口过程函数
wndcls.cbClsExtra = 0;//额外的类的附加字节数
wndcls.cbWndExtra = 0;//额外的窗口的附加字节数
wndcls.hInstance = hInstance; //应用程序的实例号
wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
wndcls.hCursor = LoadCursor(NULL, IDC_ARROW); //光标
wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);//图标
wndcls.lpszClassName =L"窗口";//类名
wndcls.lpszMenuName = NULL;//窗口中菜单为空
//注册窗口类
if (!RegisterClass(&wndcls))//如果注册失败
{
MessageBeep(0);
return FALSE;
}
//创建窗口
hwnd = CreateWindow(L"窗口", L"Alice", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
//显示窗口
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
//消息循环
while (GetMessage(&msg, NULL, 0, 0))//获取所有消息
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;// 消息循环结束即将信息返回系统
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage(0);
default://缺省时采用消息缺省处理函数
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}