2016-12-19 2 views
2

ID3D12Device::SetStablePowerState вызов функции доступен только в том случае, если в системе включен режим разработчика. Если нет, это вызывает удаление устройства.Как определить, активен ли режим разработчика в окнах 10?

Есть ли API для определения того, включен ли режим разработчика, до сих пор я ничего не обнаружил в msdn, позволяя приложению запрашивать его.

+1

[Это] (http://stackoverflow.com/questions/40033608/enable-windows-10-developer-mode-programmatically) может помочь вам. Похож на реестр и может быть сделано через powershell, так что, возможно, вы могли бы использовать эту информацию, чтобы построить свой собственный метод в коде и опубликовать в качестве ответа. – Adrian

+0

@Adrian Да, это было так просто, я ответил на мой вопрос для более поздних ссылок, кому это может понадобиться. – galop1n

ответ

3

Это простой раздел реестра, содержащий информацию, здесь простую функцию для запроса статуса режима разработчика.

bool IsDeveloperModeEnabled() { 
    HKEY hKey; 
    auto err = RegOpenKeyExW(HKEY_LOCAL_MACHINE,LR"(SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock)",0,KEY_READ,&hKey); 
    if (err!=ERROR_SUCCESS) 
    return false; 
    DWORD value{}; 
    DWORD dwordSize = sizeof(DWORD); 
    err = RegQueryValueExW(hKey,L"AllowDevelopmentWithoutDevLicense",0,NULL,reinterpret_cast<LPBYTE>(&value),&dwordSize); 
    RegCloseKey(hKey); 
    if (err!=ERROR_SUCCESS) 
    return false; 
    return value != 0; 
} 
Смежные вопросы