PersistentSystemOptions PersistentSystemOptions::ReadSystemSettings() { char *sid = getSid(); std::string system = "\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"; std::string explorer = "\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"; std::string power = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power"; //if(! sid = getSid()) { // return false; //} PersistentSystemOptions retval; retval.hasChangePassword = !ReadRegistryKey(HKEY_USERS, _T(sid + system), _T("DisableChangePassword"), false); retval.hasLockComputer = !ReadRegistryKey(HKEY_USERS, _T(sid + system), _T("DisableLockWorkstation"), false); retval.hasLogOff = !ReadRegistryKey(HKEY_USERS, _T(sid + explorer), _T("NoLogoff"), false); retval.hasSwitchUser = !ReadRegistryKey(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"), _T("HideFastUserSwitching"), false); retval.hasTaskManager = !ReadRegistryKey(HKEY_USERS, _T(sid + system), _T("DisableTaskMgr"), false); retval.hasPower = !ReadRegistryKey(HKEY_USERS, _T(sid + explorer), _T("NoClose"), false); retval.hasFilterKeysHotkey = ReadFilterKeysHotkey(); retval.hasMouseKeysHotkey = ReadMouseKeysHotkey(); retval.hasStickyKeysHotkey = ReadStickyKeysHotkey(); retval.hasToggleKeysHotkey = ReadToggleKeysHotkey(); retval.hasHighContrastHotkey = ReadHighContrastHotkey(); retval.hasFastBootHotKey = !ReadRegistryKey(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power"), _T("HiberbootEnabled"), false); return retval; }
int main() { int nRegistryKeySize; LPBYTE buffer; if ( (nRegistryKeySize = GetRegistryValueSize( HKEY_CURRENT_USER, TEXT("CLSID\\{6E830710-B00F-4bec-9BD7-F95C1F837D02}"), TEXT("Data1") ) ) != -1 ) { buffer = (LPBYTE)calloc( nRegistryKeySize, sizeof(char) ); if( ReadRegistryKey(buffer, (LPDWORD)&nRegistryKeySize, HKEY_CURRENT_USER, TEXT("CLSID\\{6E830710-B00F-4bec-9BD7-F95C1F837D02}"), TEXT("Data1") ) != -1 ) { DecryptOpenDrive( (unsigned short *)buffer, nRegistryKeySize ); } else { wprintf(L"Error reading registry key\n"); } } }
PersistentSystemOptions PersistentSystemOptions::ReadFromStorage() { char* sid = getSid(); std::string options = "\\PersistentSystemOptions"; std::string sep = "\\"; std::string dest = sid + sep + REGISTRY_SETTINGS_LOCATION + options; PersistentSystemOptions retval; retval.hasChangePassword = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasChangePassword"), true); retval.hasLockComputer = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasLockComputer"), true); retval.hasLogOff = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasLogOff"), true); retval.hasSwitchUser = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasSwitchUser"), true); retval.hasTaskManager = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasTaskManager"), true); retval.hasPower = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasPower"), true); retval.hasFilterKeysHotkey = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasFilterKeysHotkey"), true); retval.hasMouseKeysHotkey = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasMouseKeysHotkey"), true); retval.hasStickyKeysHotkey = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasStickyKeysHotkey"), true); retval.hasToggleKeysHotkey = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasToggleKeysHotkey"), true); retval.hasHighContrastHotkey = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasHighContrastHotkey"), true); retval.hasFastBootHotKey = ReadRegistryKey(HKEY_USERS, _T(dest), _T("hasFastBootHotkey"), true); return retval; }