Skip to content

v1.3.18

Choose a tag to compare

@EXLOUD EXLOUD released this 20 Sep 21:59
· 25 commits to main since this release
67acc98

// 1. НОВІ INCLUDES:
#include <tlhelp32.h>

// 2. НОВІ КОНСТАНТИ:
const int maxWaitTime = 2000; // 2 секунди максимум
const int checkInterval = 50; // Перевіряємо кожні 50ms

// 3. НОВІ ФУНКЦІЇ (повний код):
bool IsProcessRunning(const wchar_t* processName) {
bool found = false;
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if (hSnapshot != INVALID_HANDLE_VALUE) {
    PROCESSENTRY32W pe32;
    pe32.dwSize = sizeof(PROCESSENTRY32W);
    
    if (Process32FirstW(hSnapshot, &pe32)) {
        do {
            if (_wcsicmp(pe32.szExeFile, processName) == 0) {
                found = true;
                break;
            }
        } while (Process32NextW(hSnapshot, &pe32));
    }
    CloseHandle(hSnapshot);
}

return found;

}

bool TerminateProcessByName(const wchar_t* processName) {
// [40+ рядків коду для завершення процесу]
}

// 4. НОВІ ОПЕРАЦІЇ В ApplyPause():

  • SetRegString(L"PauseUpdatesStartTime", startTime)
  • SetRegDWORD(updatePolicyKey, L"PausedFeatureStatus", 1)
  • SetRegDWORD(updatePolicyKey, L"PausedQualityStatus", 1)
  • SetRegString(updatePolicyKey, L"PausedQualityDate", endTime)
  • SetRegString(updatePolicyKey, L"PausedFeatureDate", endTime)
  • SetRegDWORD(L"SYSTEM\CurrentControlSet\Services\WaaSMedicSvc", L"Start", 4)

// 5. НОВІ ОПЕРАЦІЇ В RemovePause():

  • DeleteRegValue(L"PauseUpdatesStartTime")
  • SetRegDWORD(updatePolicyKey, L"PausedFeatureStatus", 0)
  • SetRegDWORD(updatePolicyKey, L"PausedQualityStatus", 0)
  • DeleteRegValue(updatePolicyKey, L"PausedQualityDate")
  • DeleteRegValue(updatePolicyKey, L"PausedFeatureDate")
  • SetRegDWORD(L"SYSTEM\CurrentControlSet\Services\WaaSMedicSvc", L"Start", 3)

⚙️ Технічні деталі
Compiler: LLVM-MinGW 20250910 (LLVM 21.1.1) - UCRT
Targets: x86_64-w64-windows-gnu, i686-w64-windows-gnu, aarch64-w64-windows-gnu