Advertisement
dllbridge

WinAPI_step_01

Feb 10th, 2023 (edited)
783
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.34 KB | None | 0 0
  1. //  Репетиторство: a-1a.livejournal.com/52305.html
  2.  
  3. #include <windows.h>                    //  Подключаем (заголовочный файл ) библиотеки функций WinAPI  
  4.  
  5. //////////////////////////////////////////  Глобальные переменные
  6. HWND                  hWnd;             //  хедер ГЛАВНОГО! окна  
  7. HINSTANCE        hInstance;             //  Экземпляр этой программы
  8.  
  9.  
  10. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)   //  Функция обработки сообщений от...
  11. {                                                                                 //  ...OS Windows
  12.     switch(message)
  13.     {
  14.         case  WM_CREATE:   break;                          //  Принимаем однократное сообщение для инициализации
  15.        
  16.         case WM_DESTROY:   PostQuitMessage(0);             //  Принимаем однократное сообщение для ДЕ_инициализации
  17.                            break;                          
  18.                 default:   return DefWindowProc(hWnd, message, wParam, lParam);   // обработка OS остальных сообщений
  19.     }
  20.     return 0;
  21. }
  22.  
  23. //---------------------------------------------------------------------------------------------------------------------
  24. int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpszCmd, int nCmdShow)
  25. {
  26.    
  27.     WNDCLASS WC;                                                         //   Создаём элемент оконной структуры  
  28.              WC.style         = 0;
  29.              WC.lpfnWndProc   = WndProc;                                 //   Имя оконной функции
  30.              WC.cbClsExtra    = 0;
  31.              WC.cbWndExtra    = 0;
  32.              WC.hInstance     = hInstance = hInst;                       //   Дескриптор приложения
  33.              WC.hIcon         = 0;                                       //   Загружаем иконку
  34.              WC.hCursor       = LoadCursor(NULL, IDC_ARROW);             //   Загружаем тип курсора
  35.              WC.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);     //   Цвет заливки окна выбрали
  36.              WC.lpszMenuName  = 0;                                       //   Указываем имя меню
  37.              WC.lpszClassName = "dllBridge";                             //   Придумали сами имя класса окна  
  38.                                                      // Cначала регистрируем класс главного окна программы  
  39.     if(!RegisterClass(&WC)) return 0;                // если класс не зарегистрирован, то выходим
  40.    
  41.     hWnd =  CreateWindow("dllBridge",                // ————— создаем окно класса dllBridge —————
  42.                           "Template",                // заголовок окна (надпись на верхней-синей полосе)
  43.                  WS_OVERLAPPEDWINDOW,                // стиль окна (перекрывающееся)
  44.                             100, 100,                // координата X, Y левого верхнего угла окна                      
  45.                             648, 526,                // размеры окна (Ширина & Высота)                                              
  46.                               0,   0,                // Дескриптор родительского окна и идентификатор дочернего окна.                                              
  47.                         hInstance, 0);               // Дескриптор экземпляра приложения
  48.                                                    
  49.              if(!hWnd)  return 0;                    //  если окно не создано, то выходим (программа не запустилась)
  50.     ShowWindow  (hWnd, nCmdShow);                    //  отобразить окно на экране
  51.     UpdateWindow(hWnd);                              //  обновить окно                                                                                                             
  52.  
  53.  
  54.                MSG      msg;                         //  Создаём элемент структуры сообщений от OS Windows
  55.     while(  GetMessage(&msg, 0, 0, 0))               //  Цикл обработки сообщений
  56.     { TranslateMessage(&msg);                        //  Принятие и "проталкивание" сообщений в очереди
  57.        DispatchMessage(&msg);
  58.     }
  59.  
  60. return msg.wParam;
  61. }
  62.  
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement