WINDOWS API应用程序示例

来源:互联网 发布:gpd游戏优化 编辑:程序博客网 时间:2024/06/07 02:05

#include <windows.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,PSTR szCmdLine,int iCmdShow)
{
 static char szAppName[]="示例";
 HWND hwnd;
 MSG  msg;
 WNDCLASSEX wndclass;
 wndclass.cbSize = sizeof(wndclass);
 wndclass.style  =CS_HREDRAW|CS_VREDRAW;
 wndclass.lpfnWndProc =WndProc;
 wndclass.cbClsExtra  =0;
 wndclass.cbWndExtra  =0;
 wndclass.hInstance  =hInstance;
 wndclass.hIcon  =LoadIcon(NULL,IDI_APPLICATION);
 wndclass.hCursor =LoadCursor(NULL,IDC_ARROW);
 wndclass.hbrBackground =(HBRUSH)GetStockObject(BLACK_BRUSH);
 wndclass.lpszMenuName =NULL;
 wndclass.lpszClassName =szAppName;
 wndclass.hIconSm =LoadIcon(NULL,IDI_APPLICATION);

 if(!RegisterClassEx(&wndclass))
 {
  MessageBeep(0);
  return FALSE;
 }

 hwnd =CreateWindow(szAppName,"示例9_1",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
 ShowWindow(hwnd,iCmdShow);
 UpdateWindow(hwnd);
 while(GetMessage(&msg,NULL,0,0))
 {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
 }

 return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
 switch(iMsg)
 {
  case WM_DESTROY:PostQuitMessage(0);
  return 0;
 }
 return DefWindowProc(hwnd,iMsg,wParam,lParam);
}