Advertisement
dllbridge

Untitled

Apr 22nd, 2025 (edited)
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.23 KB | None | 0 0
  1. #include <windows.h>
  2.  
  3. // Прототип оконной процедуры
  4. LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  5.  
  6. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
  7.     // Регистрация класса окна
  8.     const wchar_t CLASS_NAME[] = L"BorderlessWindowClass";
  9.  
  10.     WNDCLASS wc = {};
  11.     wc.lpfnWndProc = WindowProc;
  12.     wc.hInstance = hInstance;
  13.     wc.lpszClassName = CLASS_NAME;
  14.  
  15.     RegisterClass(&wc);
  16.  
  17.     // Создание окна без рамки (WS_POPUP) и развернутого на весь экран
  18.     HWND hwnd = CreateWindowEx(
  19.         0,                          // Дополнительные стили
  20.         CLASS_NAME,                  // Имя класса окна
  21.         L"Borderless Fullscreen",    // Заголовок окна
  22.         WS_POPUP | WS_VISIBLE,       // Стиль окна (без рамки)
  23.         0, 0,                        // Позиция (x, y)
  24.         GetSystemMetrics(SM_CXSCREEN), // Ширина (полный экран)
  25.         GetSystemMetrics(SM_CYSCREEN), // Высота (полный экран)
  26.         NULL,                        // Родительское окно
  27.         NULL,                        // Меню
  28.         hInstance,                   // Дескриптор экземпляра
  29.         NULL                         // Дополнительные данные
  30.     );
  31.  
  32.     if (hwnd == NULL) {
  33.         return 0;
  34.     }
  35.  
  36.     // Цикл обработки сообщений
  37.     MSG msg = {};
  38.     while (GetMessage(&msg, NULL, 0, 0)) {
  39.         TranslateMessage(&msg);
  40.         DispatchMessage(&msg);
  41.     }
  42.  
  43.     return 0;
  44. }
  45.  
  46. // Оконная процедура (обработка сообщений)
  47. LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
  48.     switch (uMsg) {
  49.         case WM_DESTROY:
  50.             PostQuitMessage(0);
  51.             return 0;
  52.  
  53.         case WM_KEYDOWN:
  54.             if (wParam == VK_ESCAPE) { // Закрыть окно по ESC
  55.                 DestroyWindow(hwnd);
  56.             }
  57.             return 0;
  58.     }
  59.  
  60.     return DefWindowProc(hwnd, uMsg, wParam, lParam);
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement