[idd] helper: add setting for exclusive monitor (default: yes)

This commit is contained in:
Quantum
2026-07-18 14:36:08 -04:00
committed by Geoffrey McRae
parent 7114d6f049
commit 6c623afc91
2 changed files with 26 additions and 0 deletions

View File

@@ -209,3 +209,26 @@ LSTATUS CRegistrySettings::setNoGPU(bool noGPU)
DWORD dwValue = noGPU;
return RegSetValueEx(hKey, L"NoGPU", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));
}
std::optional<bool> CRegistrySettings::getExclusiveMonitor()
{
DWORD result, cbData = sizeof result;
LSTATUS status = RegGetValue(hKey, nullptr, L"ExclusiveMonitor", RRF_RT_REG_DWORD, nullptr, &result, &cbData);
switch (status)
{
case ERROR_SUCCESS:
return !!result;
case ERROR_FILE_NOT_FOUND:
return true;
default:
DEBUG_ERROR_HR(status, "RegGetValue(ExclusiveMonitor)");
return {};
}
}
LSTATUS CRegistrySettings::setExclusiveMonitor(bool exclusive)
{
DWORD dwValue = exclusive;
return RegSetValueEx(hKey, L"ExclusiveMonitor", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));
}

View File

@@ -53,4 +53,7 @@ public:
std::optional<bool> getNoGPU();
LSTATUS setNoGPU(bool noGPU);
std::optional<bool> getExclusiveMonitor();
LSTATUS setExclusiveMonitor(bool exclusive);
};