Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following code example shows how your application can check the registry for policy and preference information.
#define PREFERENCE_KEY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")
#define POLICY_KEY TEXT("Software\\Policies\\Microsoft\\Windows\\Explorer")
DWORD ReadValue (LPTSTR lpValueName, DWORD dwDefault)
{
HKEY hKey;
LONG lResult;
DWORD dwValue, dwSize = sizeof(dwValue);
// First, check for a policy.
lResult = RegOpenKeyEx (HKEY_CURRENT_USER, POLICY_KEY, 0,
KEY_READ, &hKey);
if (lResult == ERROR_SUCCESS)
{
lResult = RegQueryValueEx (hKey, lpValueName, 0, &dwType,
(LPBYTE) &dwValue, &dwSize);
RegCloseKey (hKey);
}
// Exit if a policy value was found.
if (lResult == ERROR_SUCCESS)
{
return dwValue;
}
// Second, check for a preference.
lResult = RegOpenKeyEx (HKEY_CURRENT_USER, PREFERENCE_KEY, 0,
KEY_READ, &hKey);
if (lResult == ERROR_SUCCESS)
{
lResult = RegQueryValueEx (hKey, lpValueName, 0,
&dwType, (LPBYTE) &dwValue, &dwSize);
RegCloseKey (hKey);
}
// Exit if a preference was found.
if (lResult == ERROR_SUCCESS)
{
return dwValue;
}
// Neither a policy nor a preference was found; return the default value.
return dwDefault;
}