|
|
|
Navigation
0 users online | 0 Guests and 0 Registered
|
C/C++ » Registry, INIID #1004
Die Registrierungsinformationen von Windows aus der Registry auslesen (32Bit/64Bit)Über die folgende Funktion kann die Registrierung von Windows ausgelesen werden. Als Rückgabe wird zum Beispiel ausgegeben: BOOL GetRegisteredInfo( LPTSTR psRegInfo )
{
HKEY hKeyRoot = HKEY_LOCAL_MACHINE;
LPTSTR lpSubKey = TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
LONG lResult;
HKEY hKey;
TCHAR *szValue = new TCHAR[1];
DWORD dwResult = 0;
DWORD dwType = REG_NONE;
DWORD dwLen = sizeof(TCHAR);
LPTSTR regOwner = TEXT("");
LPTSTR regOrganization = TEXT("");
#ifdef _Win64
lResult = RegOpenKeyEx(hKeyRoot, lpSubKey, 0, KEY_READ | KEY_WOW64_32KEY, &hKey);
#else
lResult = RegOpenKeyEx(hKeyRoot, lpSubKey, 0, KEY_READ | KEY_WOW64_64KEY, &hKey);
#endif
if( lResult == ERROR_SUCCESS )
{
if( RegQueryValueEx(hKey, TEXT("RegisteredOwner"), NULL, &dwType, NULL, &dwLen) == ERROR_SUCCESS )
{
delete [] szValue;
szValue = new TCHAR[dwLen];
dwResult = RegQueryValueEx(hKey, TEXT("RegisteredOwner"), NULL, &dwType, (LPBYTE)szValue, &dwLen);
if( (dwResult == ERROR_SUCCESS) && ( (dwType == REG_SZ) || (dwType = REG_EXPAND_SZ) ) )
{
regOwner = (LPTSTR)szValue;
StringCchCopy(psRegInfo, 255, regOwner);
}
}
StringCchCat(psRegInfo, 255, TEXT(" / "));
dwType = REG_NONE;
dwLen = 0;
if( RegQueryValueEx(hKey, TEXT("RegisteredOrganization"), NULL, &dwType, NULL, &dwLen) == ERROR_SUCCESS )
{
delete [] szValue;
szValue = new TCHAR[dwLen];
dwResult = RegQueryValueEx(hKey, TEXT("RegisteredOrganization"), NULL, &dwType, (LPBYTE)szValue, &dwLen);
if( (dwResult == ERROR_SUCCESS) && ( (dwType == REG_SZ) || (dwType = REG_EXPAND_SZ) ) )
{
regOrganization = (LPTSTR)szValue;
StringCchCat(psRegInfo, 255, regOrganization);
}
RegCloseKey(hKeyRoot);
}
return TRUE;
} else {
return FALSE;
}
}
Die Funktion kann jetzt nun so aufgerufen werden : TCHAR RegisteredInfo[255];
if( GetRegisteredInfo( RegisteredInfo ) )
_tprintf( TEXT("Registriert : %s\\n"), RegisteredInfo );
Tags: - Related entries: Last update: 2009-10-11 19:34 You can comment this FAQ |
Most popular FAQs
|