Hvis du har mod på selv at kode en smulle,
er det ret lige til.
Det meste vedrørende registry kan du finde i : winreg.h
Jeg vedlægger en lille eksempel, som henter en streng ud af registry.
Hvis du skal hente andet end String skal du huske at checke variablen "returtype"
og caste den til noget anvendeligt.
#include <winreg.h>
CString reg_GetHCR_String(LPCTSTR subkey, LPCTSTR entry)
{
DWORD size = sizeof(ULONG);
DWORD returtype;
TCHAR buffer[LONG_BUF];
HKEY hKey = NULL;
CString Name = "";
LONG rv = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, KEY_EXECUTE, &hKey);
if(rv == ERROR_SUCCESS)
{
size = sizeof(buffer);
rv = RegQueryValueEx(hKey, entry, 0, &returtype, (unsigned char *)buffer, &size);
RegCloseKeyNULL(hKey);
if ((rv == ERROR_SUCCESS) && (returtype == REG_SZ))
Name = buffer;
}
return Name;
}
##################
værdier som "returtyope" kan antage, taget fra winnt.h:
//
//
// Predefined Value Types.
//
#define REG_NONE ( 0 ) // No value type
#define REG_SZ ( 1 ) // Unicode nul terminated string
#define REG_EXPAND_SZ ( 2 ) // Unicode nul terminated string
// (with environment variable references)
#define REG_BINARY ( 3 ) // Free form binary
#define REG_DWORD ( 4 ) // 32-bit number
#define REG_DWORD_LITTLE_ENDIAN ( 4 ) // 32-bit number (same as REG_DWORD)
#define REG_DWORD_BIG_ENDIAN ( 5 ) // 32-bit number
#define REG_LINK ( 6 ) // Symbolic Link (unicode)
#define REG_MULTI_SZ ( 7 ) // Multiple Unicode strings
#define REG_RESOURCE_LIST ( 8 ) // Resource list in the resource map
#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) // Resource list in the hardware description
#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
/pawel