#include<windows.h>
HWND hWnd;
//函数声明
BOOL InitWindow(HINSTANCE hInstance,int nCmdShow);
LRESULT CALLBACK WinProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);//*******************************************************************
//函数:InitWindow()
//功能:创建窗口
//编写人:梁志斌
//*******************************************************************
static BOOL InitWindow(HINSTANCE hInstance,int nCmdShow)
{
WNDCLASS wndcls;
wndcls.cbClsExtra=0; //分配给窗口类结构之后的额外字节数
wndcls.cbWndExtra=0; //分配给窗口实例之后的额外的字节数
wndcls.hbrBackground=CreateSolidBrush(RGB(58,110,165)); //窗口的背景色:桌面背景色
wndcls.hCursor=LoadCursor(NULL,IDC_ARROW); //窗口中的鼠标形状
wndcls.hIcon=LoadIcon(NULL,"CounterStrike.ico"); //窗口的图标
wndcls.hInstance=hInstance; //窗口所对应的应用程序的句柄
wndcls.lpfnWndProc=(WNDPROC)WinProc; //窗口消息处理函数的指针
wndcls.lpszClassName="CounterStrike"; //窗口的类名称
wndcls.lpszMenuName=NULL; //窗口的菜单资源名称
wndcls.style= NULL; //窗口的风格
if(!RegisterClass(&wndcls)) //注册窗口
{
::MessageBox(0, "RegisterClass() - FAILED", 0, 0);
return FALSE;
}
hWnd=CreateWindow("CounterStrike","CounterStrike",WS_POPUP|WS_MAXIMIZE|WS_MINIMIZE,0,0,
GetSystemMetrics(SM_CXSCREEN), //此函数返回屏幕宽度
GetSystemMetrics(SM_CYSCREEN), //此函数返回屏幕高度
GetDesktopWindow(),NULL,hInstance,NULL);
if(!hWnd)
{
::MessageBox(0, "CreateWindow() - FAILED", 0, 0);
return FALSE;
} ShowWindow(hWnd,SW_SHOWNORMAL);
UpdateWindow(hWnd);
return TRUE;
}
//*******************************************************************
//函数:WinProc()
//功能:消息处理函数
//编写人:梁志斌
//*******************************************************************
LRESULT CALLBACK WinProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
case WM_KEYDOWN: //击键消息
switch(wParam)
{
case VK_ESCAPE:
DestroyWindow(hWnd); //释放窗口
PostQuitMessage(0); //给窗口发送WM_QUIT消息
return 0; //处理完一个消息后返回0
}
}
return DefWindowProc(hWnd,msg,wParam,lParam); //调用缺省消息处理过程
}
//*******************************************************************
//函数:WinMain()
//功能:Windows入口函数。创建主窗口,处理消息循环
//编写人:梁志斌
//*******************************************************************
int WINAPI WinMain(HINSTANCE hInstance, //hInstance:表示该应用程序的句柄
HINSTANCE hPrevInstance, //hPrevInstance:为了保持与16位Windows应用程序的兼容性
LPSTR lpCmdLine, //lpCmdLine:指向命令行参数字符串的指针
int nCmdShow) //nCmdShow:指向应用程序窗口显示方式的参数
{
InitWindow(hInstance,nCmdShow);
MSG msg;
ZeroMemory( &msg, sizeof(msg) );
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
return (int)msg.wParam;
}