您的位置:首页 > 其它

一个简单的Win32程序(不用MFC)

2005-08-18 12:27 357 查看
#include <windows.h>
LRESULT CALLBACK WinProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
      switch (msg){
            case WM_DESTROY: 
                  { 
                        PostQuitMessage(0);
                  }
                  break;
      }
      return DefWindowProc(hWnd, msg, wParam, lParam);
}
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
{
      //注册窗口类
      WNDCLASSEX wc = {sizeof(WNDCLASSEX), CS_CLASSDC, WinProc, 0L, 0L, 
                                             GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
                                             "Demo", NULL};
      RegisterClassEx(&wc);

      //建立窗口
      HWND hWnd = CreateWindow("Demo", "Demo",
                              WS_OVERLAPPEDWINDOW | WS_POPUP | WS_VISIBLE /*|WS_THICKFRAME*/,
                             GetSystemMetrics(SM_CXSCREEN)/3,
                             GetSystemMetrics(SM_CYSCREEN)/3, 
                             GetSystemMetrics(SM_CXSCREEN)/3, 
                             GetSystemMetrics(SM_CYSCREEN)/3,
                             NULL, NULL, wc.hInstance, NULL);
      //显示窗口
      ShowWindow(hWnd, SW_SHOWDEFAULT);
      UpdateWindow(hWnd);

      //获取消息
      MSG msg;
      BOOL bMessage;
      PeekMessage(&msg, NULL, 0U, 0U, PM_NOREMOVE);

      while (msg.message != WM_QUIT){
            bMessage = PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE);
            if (bMessage){
                  TranslateMessage(&msg);
                  DispatchMessage(&msg);
            }
      }
      UnregisterClass("Demo", wc.hInstance);
    
       return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息