diff --git a/Overlay/Overlay.vcxproj b/Overlay/Overlay.vcxproj index 94aa0ea..94462cb 100644 --- a/Overlay/Overlay.vcxproj +++ b/Overlay/Overlay.vcxproj @@ -118,6 +118,7 @@ true NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true + stdcpp20 Windows diff --git a/Overlay/main.cpp b/Overlay/main.cpp index c7d7552..832dc7c 100644 --- a/Overlay/main.cpp +++ b/Overlay/main.cpp @@ -5,7 +5,6 @@ const MARGINS margins = { -1 ,-1, -1, -1 }; const wchar_t g_szClassName[] = L"overlay"; - bool isVisible = true; LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) @@ -13,11 +12,16 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) switch (msg) { case WM_HOTKEY: - if (wParam == 1) // При нажатии на горячую клавишу + if (wParam == 1) // При нажатии на горячую клавишу ALT + Z { isVisible = !isVisible; // Инвертируем значение переменной isVisible ShowWindow(hwnd, isVisible ? SW_SHOW : SW_HIDE); // Показываем/скрываем окно в зависимости от значения isVisible } + else if (wParam == 2) // При нажатии на горячую клавишу ALT + X + { + // Закрытие окна + DestroyWindow(hwnd); + } break; case WM_PAINT: { @@ -40,8 +44,6 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) return 0; } - - int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; @@ -78,6 +80,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine // Регистрация горячей клавиши RegisterHotKey(hwnd, 1, MOD_ALT, 0x5A); // Здесь 0x5A соответствует клавише Z + RegisterHotKey(hwnd, 2, MOD_ALT, 0x58); // Здесь 0x58 соответствует клавише X // Цикл обработки сообщений while (GetMessage(&Msg, NULL, 0, 0) > 0) @@ -88,6 +91,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine // Удаление горячей клавиши UnregisterHotKey(hwnd, 1); + UnregisterHotKey(hwnd, 2); exit(0); return Msg.wParam;