mirror of
https://github.com/jazir555/GamesDows.git
synced 2025-06-05 07:07:23 +02:00
Add files via upload
This commit is contained in:
parent
6a61614fda
commit
500dc18195
BIN
exe/BlackOverlay.exe
Normal file
BIN
exe/BlackOverlay.exe
Normal file
Binary file not shown.
105
exe/buildexe.bat
Normal file
105
exe/buildexe.bat
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
#ifndef UNICODE
|
||||||
|
#define UNICODE
|
||||||
|
#endif
|
||||||
|
#ifndef _UNICODE
|
||||||
|
#define _UNICODE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <shellapi.h> // Needed for CommandLineToArgvW
|
||||||
|
|
||||||
|
// --- Configuration ---
|
||||||
|
const wchar_t WINDOW_TITLE[] = L"---BlackOverlayScreen---";
|
||||||
|
const wchar_t CLASS_NAME[] = L"BlackOverlayClass";
|
||||||
|
// --- End Configuration ---
|
||||||
|
|
||||||
|
// Forward declaration for wWinMain if WinMain calls it
|
||||||
|
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow);
|
||||||
|
|
||||||
|
// ADDED ANSI WinMain entry point wrapper
|
||||||
|
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
|
||||||
|
// Get command line arguments as Unicode
|
||||||
|
int argc;
|
||||||
|
LPWSTR* argv = CommandLineToArgvW(GetCommandLineW(), &argc);
|
||||||
|
if (argv == NULL) {
|
||||||
|
// Handle error if needed, perhaps return a failure code
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Call the Unicode wWinMain function
|
||||||
|
// Note: We don't directly use lpCmdLine here, relying on GetCommandLineW instead.
|
||||||
|
// We also pass the original hInstance and nCmdShow. hPrevInstance is obsolete.
|
||||||
|
int result = wWinMain(hInstance, hPrevInstance, NULL, nCmdShow); // Pass NULL for pwCmdLine as wWinMain doesn't use it
|
||||||
|
|
||||||
|
// Free the memory allocated by CommandLineToArgvW
|
||||||
|
LocalFree(argv);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Window Procedure (remains the same)
|
||||||
|
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
|
||||||
|
switch (uMsg) {
|
||||||
|
case WM_DESTROY:
|
||||||
|
PostQuitMessage(0);
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
case WM_ERASEBKGND:
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
case WM_PAINT:
|
||||||
|
{
|
||||||
|
PAINTSTRUCT ps;
|
||||||
|
HDC hdc = BeginPaint(hwnd, &ps);
|
||||||
|
FillRect(hdc, &ps.rcPaint, (HBRUSH)GetStockObject(BLACK_BRUSH));
|
||||||
|
EndPaint(hwnd, &ps);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return DefWindowProc(hwnd, uMsg, wParam, lParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Existing UNICODE wWinMain entry point (remains mostly the same)
|
||||||
|
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) {
|
||||||
|
// NOTE: We ignore hPrevInstance and pCmdLine parameters as they are handled/obsolete
|
||||||
|
|
||||||
|
// 1. Register the window class.
|
||||||
|
WNDCLASS wc = { };
|
||||||
|
wc.lpfnWndProc = WndProc;
|
||||||
|
wc.hInstance = hInstance;
|
||||||
|
wc.lpszClassName = CLASS_NAME;
|
||||||
|
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
|
||||||
|
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||||
|
|
||||||
|
if (!RegisterClass(&wc)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. Get screen dimensions for maximization
|
||||||
|
int screenWidth = GetSystemMetrics(SM_CXSCREEN);
|
||||||
|
int screenHeight = GetSystemMetrics(SM_CYSCREEN);
|
||||||
|
|
||||||
|
// 3. Create the window.
|
||||||
|
HWND hwnd = CreateWindowEx(
|
||||||
|
WS_EX_TOPMOST,
|
||||||
|
CLASS_NAME,
|
||||||
|
WINDOW_TITLE,
|
||||||
|
WS_POPUP | WS_VISIBLE,
|
||||||
|
0, 0, screenWidth, screenHeight,
|
||||||
|
NULL, NULL, hInstance, NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
if (hwnd == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. Run the message loop.
|
||||||
|
MSG msg = { };
|
||||||
|
while (GetMessage(&msg, NULL, 0, 0) > 0) {
|
||||||
|
TranslateMessage(&msg);
|
||||||
|
DispatchMessage(&msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int)msg.wParam;
|
||||||
|
}
|
@ -1,121 +1,121 @@
|
|||||||
@echo off
|
@echo off
|
||||||
SETLOCAL EnableDelayedExpansion
|
SETLOCAL EnableDelayedExpansion
|
||||||
|
|
||||||
:: ==========================================================================
|
:: ==========================================================================
|
||||||
:: Script to Install C++ Build Dependencies (MinGW-w64 via Chocolatey)
|
:: Script to Install C++ Build Dependencies (MinGW-w64 via Chocolatey)
|
||||||
:: Requires Administrator privileges and Internet connection.
|
:: Requires Administrator privileges and Internet connection.
|
||||||
:: Handles potential non-fatal warnings from choco install for mingw.
|
:: Handles potential non-fatal warnings from choco install for mingw.
|
||||||
:: ==========================================================================
|
:: ==========================================================================
|
||||||
|
|
||||||
:: Check for Admin privileges
|
:: Check for Admin privileges
|
||||||
echo Checking for administrative privileges...
|
echo Checking for administrative privileges...
|
||||||
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
|
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
|
||||||
if '%errorlevel%' NEQ '0' (
|
if '%errorlevel%' NEQ '0' (
|
||||||
echo ERROR: This script requires administrative privileges.
|
echo ERROR: This script requires administrative privileges.
|
||||||
echo Please right-click and select "Run as administrator".
|
echo Please right-click and select "Run as administrator".
|
||||||
pause
|
pause
|
||||||
goto :EOF
|
goto :EOF
|
||||||
) else (
|
) else (
|
||||||
echo Running with administrative privileges.
|
echo Running with administrative privileges.
|
||||||
)
|
)
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
:: Define Variables
|
:: Define Variables
|
||||||
SET "CHOCO_INSTALL_CMD=Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"
|
SET "CHOCO_INSTALL_CMD=Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"
|
||||||
SET "MINGW_PACKAGE=mingw"
|
SET "MINGW_PACKAGE=mingw"
|
||||||
SET "INSTALL_ATTEMPTED=0"
|
SET "INSTALL_ATTEMPTED=0"
|
||||||
|
|
||||||
:: --- Step 1: Check/Install Chocolatey ---
|
:: --- Step 1: Check/Install Chocolatey ---
|
||||||
echo Checking for Chocolatey installation...
|
echo Checking for Chocolatey installation...
|
||||||
choco -? >nul 2>&1
|
choco -? >nul 2>&1
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
echo Chocolatey not found. Attempting to install...
|
echo Chocolatey not found. Attempting to install...
|
||||||
echo This requires PowerShell and an internet connection.
|
echo This requires PowerShell and an internet connection.
|
||||||
powershell -NoProfile -ExecutionPolicy Bypass -Command "%CHOCO_INSTALL_CMD%"
|
powershell -NoProfile -ExecutionPolicy Bypass -Command "%CHOCO_INSTALL_CMD%"
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
echo ERROR: Chocolatey installation failed. Please check your internet connection
|
echo ERROR: Chocolatey installation failed. Please check your internet connection
|
||||||
echo and PowerShell execution policy settings. Manual installation may be required.
|
echo and PowerShell execution policy settings. Manual installation may be required.
|
||||||
echo Visit https://chocolatey.org/install for instructions.
|
echo Visit https://chocolatey.org/install for instructions.
|
||||||
pause
|
pause
|
||||||
goto :EOF
|
goto :EOF
|
||||||
) ELSE (
|
) ELSE (
|
||||||
echo Chocolatey installation appears successful.
|
echo Chocolatey installation appears successful.
|
||||||
echo NOTE: You might need to open a NEW command prompt for choco to be fully available in PATH.
|
echo NOTE: You might need to open a NEW command prompt for choco to be fully available in PATH.
|
||||||
echo Running 'refreshenv' command now to attempt immediate PATH refresh...
|
echo Running 'refreshenv' command now to attempt immediate PATH refresh...
|
||||||
refreshenv
|
refreshenv
|
||||||
REM Small delay to allow environment refresh
|
REM Small delay to allow environment refresh
|
||||||
timeout /t 3 /nobreak >nul
|
timeout /t 3 /nobreak >nul
|
||||||
)
|
)
|
||||||
) ELSE (
|
) ELSE (
|
||||||
echo Chocolatey is already installed.
|
echo Chocolatey is already installed.
|
||||||
)
|
)
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
:: Verify Choco again after potential install/refresh
|
:: Verify Choco again after potential install/refresh
|
||||||
choco -? >nul 2>&1
|
choco -? >nul 2>&1
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
echo ERROR: Chocolatey command is still not available after installation attempt.
|
echo ERROR: Chocolatey command is still not available after installation attempt.
|
||||||
echo Please open a new Administrator command prompt and try running this script again,
|
echo Please open a new Administrator command prompt and try running this script again,
|
||||||
echo or install MinGW manually.
|
echo or install MinGW manually.
|
||||||
pause
|
pause
|
||||||
goto :EOF
|
goto :EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
:: --- Step 2: Check/Install MinGW-w64 ---
|
:: --- Step 2: Check/Install MinGW-w64 ---
|
||||||
echo Checking if '%MINGW_PACKAGE%' package is installed via Chocolatey...
|
echo Checking if '%MINGW_PACKAGE%' package is installed via Chocolatey...
|
||||||
choco list --local-only --exact "%MINGW_PACKAGE%" | findstr /B /C:"%MINGW_PACKAGE%" >nul 2>&1
|
choco list --local-only --exact "%MINGW_PACKAGE%" | findstr /B /C:"%MINGW_PACKAGE%" >nul 2>&1
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
echo '%MINGW_PACKAGE%' package not found or check failed. Attempting to install/ensure...
|
echo '%MINGW_PACKAGE%' package not found or check failed. Attempting to install/ensure...
|
||||||
SET "INSTALL_ATTEMPTED=1"
|
SET "INSTALL_ATTEMPTED=1"
|
||||||
choco install %MINGW_PACKAGE% --yes --force --no-progress
|
choco install %MINGW_PACKAGE% --yes --force --no-progress
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
echo WARNING: 'choco install %MINGW_PACKAGE%' finished with a non-zero exit code.
|
echo WARNING: 'choco install %MINGW_PACKAGE%' finished with a non-zero exit code.
|
||||||
echo This might be due to non-fatal warnings (like missing old paths).
|
echo This might be due to non-fatal warnings (like missing old paths).
|
||||||
echo Continuing to verification step, but check output above carefully.
|
echo Continuing to verification step, but check output above carefully.
|
||||||
REM Do not exit here, let the g++ check be the final arbiter
|
REM Do not exit here, let the g++ check be the final arbiter
|
||||||
) ELSE (
|
) ELSE (
|
||||||
echo 'choco install %MINGW_PACKAGE%' command completed successfully (Exit Code 0).
|
echo 'choco install %MINGW_PACKAGE%' command completed successfully (Exit Code 0).
|
||||||
)
|
)
|
||||||
echo Running 'refreshenv' command to attempt PATH update...
|
echo Running 'refreshenv' command to attempt PATH update...
|
||||||
refreshenv
|
refreshenv
|
||||||
REM Small delay to allow environment refresh
|
REM Small delay to allow environment refresh
|
||||||
timeout /t 3 /nobreak >nul
|
timeout /t 3 /nobreak >nul
|
||||||
) ELSE (
|
) ELSE (
|
||||||
echo '%MINGW_PACKAGE%' package appears to be already installed.
|
echo '%MINGW_PACKAGE%' package appears to be already installed.
|
||||||
)
|
)
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
:: --- Step 3: Verify g++ availability ---
|
:: --- Step 3: Verify g++ availability ---
|
||||||
echo Verifying g++ command availability...
|
echo Verifying g++ command availability...
|
||||||
where g++ >nul 2>&1
|
where g++ >nul 2>&1
|
||||||
IF %ERRORLEVEL% NEQ 0 (
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
echo ERROR: 'g++' command was not found in the current PATH even after installation attempt/check.
|
echo ERROR: 'g++' command was not found in the current PATH even after installation attempt/check.
|
||||||
IF "!INSTALL_ATTEMPTED!"=="1" (
|
IF "!INSTALL_ATTEMPTED!"=="1" (
|
||||||
echo Possible causes:
|
echo Possible causes:
|
||||||
echo - The 'mingw' package installation truly failed despite reporting success internally. Check logs.
|
echo - The 'mingw' package installation truly failed despite reporting success internally. Check logs.
|
||||||
echo - The PATH environment variable hasn't updated in this session yet.
|
echo - The PATH environment variable hasn't updated in this session yet.
|
||||||
) ELSE (
|
) ELSE (
|
||||||
echo Possible cause: The PATH environment variable hasn't updated in this session yet.
|
echo Possible cause: The PATH environment variable hasn't updated in this session yet.
|
||||||
)
|
)
|
||||||
echo.
|
echo.
|
||||||
echo IMPORTANT: Please CLOSE this window and open a NEW Administrator
|
echo IMPORTANT: Please CLOSE this window and open a NEW Administrator
|
||||||
echo command prompt. Then try running the build script.
|
echo command prompt. Then try running the build script.
|
||||||
pause
|
pause
|
||||||
goto :EOF
|
goto :EOF
|
||||||
) ELSE (
|
) ELSE (
|
||||||
echo Verification successful: 'g++' command found in PATH:
|
echo Verification successful: 'g++' command found in PATH:
|
||||||
where g++
|
where g++
|
||||||
echo.
|
echo.
|
||||||
echo ==========================================================================
|
echo ==========================================================================
|
||||||
echo Build Dependency Installation/Verification Complete!
|
echo Build Dependency Installation/Verification Complete!
|
||||||
echo ==========================================================================
|
echo ==========================================================================
|
||||||
echo MinGW-w64 (containing g++) should be ready.
|
echo MinGW-w64 (containing g++) should be ready.
|
||||||
IF "!INSTALL_ATTEMPTED!"=="1" (
|
IF "!INSTALL_ATTEMPTED!"=="1" (
|
||||||
echo NOTE: If the build script still fails, ensure you run it from a NEW command prompt.
|
echo NOTE: If the build script still fails, ensure you run it from a NEW command prompt.
|
||||||
)
|
)
|
||||||
echo.
|
echo.
|
||||||
)
|
)
|
||||||
|
|
||||||
pause
|
pause
|
||||||
ENDLOCAL
|
ENDLOCAL
|
||||||
goto :EOF
|
goto :EOF
|
Loading…
x
Reference in New Issue
Block a user