zoukankan      html  css  js  c++  java
  • A simple windows programm in c

       
    A simple windows programm in c
            
    The following programm is a minimal windows program. It opens a window and writes a text into the window.
    If you compile it with MinGW, be sure to add the -mwindows flag in order to prevent the ... undefined reference to 'TextOutA@20' and ... undefined reference to 'GetStockObject@4 linker error.

    #include <windows.h>

    LRESULT CALLBACK WndProc(
        HWND   hWnd,
        UINT   msg,
        WPARAM wParam,
        LPARAM lParam ) {

      switch( msg ) {
        case WM_PAINT: {
          PAINTSTRUCT ps;
          HDC hDC = BeginPaint( hWnd, &ps );
          TextOut(hDC, 10, 10, "ADP GmbH", 8 );
          EndPaint( hWnd, &ps );
        }
        break;

        case WM_DESTROY:
          PostQuitMessage(0);
        break;

        default:
          return DefWindowProc( hWnd, msg, wParam, lParam);
      }
      return 0;
    }


    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       LPSTR lpCmdLine, int nCmdShow) {

      WNDCLASSEX wce;

      wce.cbSize        = sizeof(wce);
      wce.style         = CS_VREDRAW | CS_HREDRAW;
      wce.lpfnWndProc   = (WNDPROC) WndProc;
      wce.cbClsExtra    = 0;
      wce.cbWndExtra    = 0;
      wce.hInstance     = hInstance;
      wce.hIcon         = LoadIcon((HINSTANCE) NULL, IDI_APPLICATION);
      wce.hCursor       = LoadCursor((HINSTANCE) NULL, IDC_ARROW);
      wce.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
      wce.lpszMenuName  = 0;
      wce.lpszClassName = "ADPWinClass",
      wce.hIconSm       = 0;
     
      if (!RegisterClassEx(&wce)) return 0;
     
      HWND hWnd = CreateWindowEx(
        0,          // Ex Styles
        "ADPWinClass",
        "ADP GmbH",
         WS_OVERLAPPEDWINDOW,
         CW_USEDEFAULT,  // x
         CW_USEDEFAULT,  // y
         CW_USEDEFAULT,  // Height
         CW_USEDEFAULT,  // Width
         NULL,           // Parent Window
         NULL,           // Menu, or windows id if child
         hInstance,      //
         NULL            // Pointer to window specific data
      );

      ShowWindow( hWnd, nCmdShow );

      MSG msg;
      int r;
      while ((r = GetMessage(&msg, NULL, 0, 0 )) != 0) {
        if (r == -1) {
          ;  // Error!
        }
        else {
          TranslateMessage(&msg);
          DispatchMessage(&msg);
        }
      }

      // The application's return value
      return msg.wParam;
    };

  • 相关阅读:
    C#处理JPEG头信息
    利用WebSocket传输数组或者Blob的方案
    System.Collections命名空间下的所有接口及结构图
    C#生成影像金字塔
    C# DEM数据转换为JPEG
    C# 数值型数据转换为字节数组
    c语言实现bitmap的基本操作
    大数据spark 视频的免费连接
    Android开源应用【转】
    linux c程序中获取shell脚本输出 [转]
  • 原文地址:https://www.cnblogs.com/honeynm/p/4695878.html
Copyright © 2011-2022 走看看