Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <iostream> #include <Windows.h> #include <TCHAR.h> using namespace std; int main() { HKEY hKey; HKEY hKey2; TCHAR data[53]; TCHAR Value[20]; DWORD dwLenght; cout << "Key 1 wird geladen." << endl; RegOpenKeyEx(hKey, "Test", 0, KEY_ALL_ACCESS, &hKey); RegQueryValueEx(hKey, "Eintragsname", NULL, REG_SZ, (LPBYTE)data, &dwLenght); cout << "Key 2 wird geladen." << endl; RegOpenKeyEx(hKey2, "Software\\Microsoft\\Test2", 0, KEY_QUERY_VALUE, &hKey2); RegQueryValueEx(hKey2, "Eintragsname", NULL, REG_DWORD, (LPBYTE)Value, &dwLenght); RegCloseKey(hKey); RegCloseKey(hKey2); cout << "Der Inhalt des Schluessels 1 lautet: " << data << endl; cout << "Der Inhalt des Schluessels 2 lautet: " << atoi(Value) << endl; cout << "Ende." << endl; Sleep(5000); return(0); } |
|
|
C/C++ Quellcode |
1 2 3 4 5 6 |
RegQueryValueEx(hKey, __T("Eintragsname"), // __T-Macro um Richtige Zeichensatzcodierugn festzulegen NULL, NULL, // NULL, oder Pointer auf eine DWORD Variable um den Datentyp zu erhalten (LPBYTE)data, // TCHAR in ein BYTE Pointer casten &dwLenght); |

|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 |
DWORD RegTyp; RegQueryValueEx(hKey, __T("Eintragsname"), NULL, &RegTyp, // argument 4, RegTyp vom Typ DWORD, durch dereferenzieren mittels & wird die Addresse übergeben (->DWORD*) (LPBYTE)data, &dwLenght); |
|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
HKEY hKey; if (RegOpenKeyEx(HKEY_CURRENT_USER, __T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders"), 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) { DWORD dwType = 0; TCHAR data[256] = {0}; DWORD dwDataLen = 256; if (RegQueryValueEx(hKey, __T("Desktop"), NULL, &dwType, (LPBYTE)data, &dwDataLen) == ERROR_SUCCESS) wcout << "Dektop = " << data << endl; else wcout << "Wert konnte nicht gefunden werden." << endl; RegCloseKey(hKey); } else wcout << "Registry konnte nicht geöffnet werden" << endl; |
|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#include <iostream> #include <Windows.h> #include <TCHAR.h> using namespace std; int main() { HKEY hKey; HKEY hKey2; TCHAR data[53]={0}; TCHAR Value[20]={0}; wcout << "Key 1 wird geladen." << endl; if(RegOpenKeyEx(HKEY_CURRENT_USER, "Test", 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) { wcout << "Wert von Key 1 wird geladen." << endl; DWORD dwTyp=0; DWORD dwLenght=256; if(RegQueryValueEx(hKey, _T("Eintragsname"), NULL, &dwTyp, (LPBYTE)data, &dwLenght) == ERROR_SUCCESS) { wcout << "Test 1: String lautet: " << data << endl; } else { wcout << "Fehler! ID: 102" << endl; } RegCloseKey(hKey); } else { wcout << "Fehler! ID: 101" << endl; } wcout << "Key 2 wird geladen." << endl; if(RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Test2", 0, KEY_QUERY_VALUE, &hKey2) == ERROR_SUCCESS) { wcout << "Wert von Key 2 wird geladen." << endl; DWORD dwTyp=0; DWORD dwLenght=256; if(RegQueryValueEx(hKey2, _T("Eintragsname"), NULL, &dwTyp, (LPBYTE)Value, &dwLenght) == ERROR_SUCCESS) { wcout << "Test 1: Zahl lautet: " << Value << endl; } else { wcout << "Fehler! ID: 103" << endl; } RegCloseKey(hKey2); } wcout << "Test 2: Der Inhalt des Schluessels 1 lautet: " << data << endl; wcout << "Test 2: Der Inhalt des Schluessels 2 lautet: " << Value << endl; wcout << "Ende." << endl; Sleep(10000); return(0); } |
This post has been edited 3 times, last edit by "Checkmateing" (Jul 2nd 2011, 1:40pm)
|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 |
DWORD Value = 0; DWORD dwLenght=4; if(RegQueryValueEx(hKey2, _T("Eintragsname"), NULL, &dwTyp, (LPBYTE)&Value, &dwLenght) == ERROR_SUCCESS) { if (dwType == REG_DWORD) wcout << "Test 1: Zahl lautet: " << Value << endl; } |
This post has been edited 1 times, last edit by "Checkmateing" (Jul 2nd 2011, 5:55pm)