registry auslesen
-
kann mir jemand ein tut oder ne site oder n tipp geben wie ich nen string aus der regy auslese.... das problem ist da sich nicht weiss nach was ich suchen soll, das wa sich bekomme ist nur muell oder unbrauchbar....
-
http://bcb-tutorial.c-plusplus.net/registry/index.html
google, forensuche (, faq?)
ps. gehoert eher nach winapi
mfg.
-
ich hab beides benutzt nur das was du jetzt gepostest hast nicht gefunden... sorry!!!!!
suchte etwas wie man halt nen key ausliest und der in der console angezeigt wird also ohne winapi....
-
toxi schrieb:
suchte etwas wie man halt nen key ausliest und der in der console angezeigt wird also ohne winapi....
Geht praktisch nur mit WinAPI.
-
ok vielen dank an euch, dann werde ich den oben geposteten link weiter verfolgen.... hab mit winapi noch nie gearbeitet....
-
Hi!
TactX schrieb:
toxi schrieb:
suchte etwas wie man halt nen key ausliest und der in der console angezeigt wird also ohne winapi....
Geht praktisch nur mit WinAPI.
Geht praktisch auch ohne WinAPI. Die Daten liegen in zwei Dateien vor, das einzigste was man tuen muss ist das Dateiformat rauszubekommen.
grüße
-
David_pb schrieb:
Hi!
TactX schrieb:
toxi schrieb:
suchte etwas wie man halt nen key ausliest und der in der console angezeigt wird also ohne winapi....
Geht praktisch nur mit WinAPI.
Geht praktisch auch ohne WinAPI. Die Daten liegen in zwei Dateien vor, das einzigste was man tuen muss ist das Dateiformat rauszubekommen.
grüße
Deswegen auch das "praktisch"
-
Hi!
Das ist auch nich unpraktisch!
Siehe folgendes für Infos über das Format:
http://www.wotsit.org/download.asp?f=winreggrüße
-
um was mit der winapi anfangen zu koennen, welche programmiersprache muss man da beherschen ode ris das total eigenständig....?
zu deinem link: File Access Blocked
-
Hi!
C++, Delphi, ... was auch immer. Alles was dll's einbinden kann. Zu meinem Link, such unter Binary Files.
grüße
-
ah vielen dank ^^ wer dich mal suchen gehen...
super muss ich c++ mal ansehen ^^ kann leider nur c so geht scho ^^
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hab letztens selbst etwas derartiges geschrieben ( bzw den hauptteil von der msdn seite abgeschaut
)
void listKey(HKEY hKey){ TCHAR achKey[MAX_KEY_LENGTH]; // buffer for subkey name DWORD cbName; // size of name string TCHAR achClass[MAX_PATH] = TEXT(""); // buffer for class name DWORD cchClassName = MAX_PATH; // size of class string DWORD cSubKeys=0; // number of subkeys DWORD cbMaxSubKey; // longest subkey size DWORD cchMaxClass; // longest class string DWORD cValues; // number of values for key DWORD cchMaxValue; // longest value name DWORD cbMaxValueData; // longest value data DWORD cbSecurityDescriptor; // size of security descriptor FILETIME ftLastWriteTime; // last write time DWORD i, retCode; TCHAR achValue[MAX_VALUE_NAME]; DWORD cchValue = MAX_VALUE_NAME; CHAR *szProductDir; DWORD dwBufLen = sizeof(szProductDir); DWORD BufferSize = TOTALBYTES; szProductDir = (char *)calloc(255, sizeof(char)); retCode = RegQueryInfoKey( hKey, // key handle achClass, // buffer for class name &cchClassName, // size of class string NULL, // reserved &cSubKeys, // number of subkeys &cbMaxSubKey, // longest subkey size &cchMaxClass, // longest class string &cValues, // number of values for this key &cchMaxValue, // longest value name &cbMaxValueData, // longest value data &cbSecurityDescriptor, // security descriptor &ftLastWriteTime); // last write time // Enumerate the subkeys, until RegEnumKeyEx fails. if (cSubKeys){ printf( "\tSubkeys Gesamt: %d\n", cSubKeys); for (i=0; i<cSubKeys; i++) { cbName = MAX_KEY_LENGTH; retCode = RegEnumKeyEx(hKey, i, achKey, &cbName, NULL, NULL, NULL, &ftLastWriteTime); if (retCode == ERROR_SUCCESS) { _tprintf(TEXT("%s "), achKey); int te=RegQueryValueEx(hKey, achValue, NULL, NULL,(LPBYTE)szProductDir, &BufferSize ); printf("%s\n",szProductDir); } } } // Enumerate the key values. if (cValues) { printf( "\tKeys Gesamt: %d\n", cValues); for (i=0, retCode=ERROR_SUCCESS; i<cValues; i++) { cchValue = MAX_VALUE_NAME; achValue[0] = '\0'; retCode = RegEnumValue(hKey, i, achValue, &cchValue, NULL, NULL, NULL, NULL); if (retCode == ERROR_SUCCESS ) { _tprintf(TEXT("%s "), achValue); int te=RegQueryValueEx(hKey, achValue, NULL, NULL,(LPBYTE)szProductDir, &BufferSize ); if( te == 0){ printf("%s\n",szProductDir); } else printf("\n"); } } } return; }
der Prozedur wird ein Schlüssel übergeben diesen erzeugst du zB so :
HKEY hKey; if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0,KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS ){ // KEY_READ | KEY_QUERY_VALUE , &hKey) == ERROR_SUCCESS ){ printf("\n\tHKEY_LOCAL_MACHINE\n"); listKey(hKey); RegCloseKey(hKey); }
mfg ch
-
Hab allerdings noch eine Frage dazu:
Kann es sein das &cbMaxValueData ( longest value data ) zu klein gewählt ist ?
den ich bekomme nicht alle Werte angezeigt.Hier meine Ausgabe:
HKEY_LOCAL_MACHINE
Subkeys Gesamt: 1
OptionalComponents
Keys Gesamt: 6
NvCplDaemon RUNDLL32.EXE C:\WINDOWS\System32\NvCpl.dll,NvStartup
nwiz nwiz.exe /install
SiSUSBRG
KernelFaultCheck
AVGCtrl
NvMediaCenteres muss an folgendem Codeabschnitt liegen :
int te=RegQueryValueEx(hKey, achValue, NULL, NULL,(LPBYTE)szProductDir, &BufferSize ); if( te == 0){ printf("%s\n",szProductDir); }
te ist also nicht immer gleich 0 ... Wieso ?
tia mfg ch