Probleme mit RegQueryValueEx

Diskutiere Probleme mit RegQueryValueEx im Developer Network Forum im Bereich Hardware & Software Forum; Hi Mein Problem liegt darin, dass ich überprüfen kann ob eine Schlüssel vorhanden ist, aber ich kann leider keinen Wert auf Existenz prüfen...
  • Probleme mit RegQueryValueEx Beitrag #1
P

pc-jedi

Neues Mitglied
Dabei seit
28.06.2010
Beiträge
3
Reaktionspunkte
0
Hi

Mein Problem liegt darin, dass ich überprüfen kann ob eine Schlüssel vorhanden ist, aber ich kann leider keinen Wert auf Existenz prüfen, weil er diesen nie findet, obwohl er vorhanden ist.
Hier erst mal der Code:
Code:
#include <windows.h>
#include "Logfile.h"

void main()
{
	// Neues Logfile erstellen
	g_pLogfile->CreateLogfile ("Logfile.html");

	HKEY hKey;
	LONG ReturnValue = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &hKey);
	if(ReturnValue == ERROR_SUCCESS)
	{
		g_pLogfile->fTextout(BLACK, false, "Key rennt");
		g_pLogfile->fTextout(BLACK, false, "%#x",hKey);

		LONG RetrunValue = RegQueryValueEx(hKey, "smss32.exe", NULL, NULL, NULL, NULL);
		if(RetrunValue == ERROR_SUCCESS)
			g_pLogfile->fTextout(BLACK, false, "Value rennt");
	}
	RegCloseKey(hKey);
	// Logfile schließen
	g_pLogfile->Del ();
}
Das Logfile sieht wie folgt aus:
Code:
Key rennt
0x80
Mich wunder es das hKey den Wert 0x80 hat. Die Fehlermeldung von RegQueryValueEx ist 0x02 also File not found.
 
  • Probleme mit RegQueryValueEx Beitrag #2
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Ist zwar unwahrscheinlich, aber viell. gibt es ein Problem mit der Unicode-Unterstützung. Falls das Programm mit Unicode-Unterstützung kompiliert wird, du aber normale Strings für die Key-Namen verwendest, könnte das Probleme machen. Unwahrscheinlich deshalb, weil RegOpenKeyEx den gleichen Datentyp für den Subkey erwartet, und es dort ja offenbar funktioniert.
MS verwendet jedenfalls ein Konvertierungs-Makro in seinen Beispielen:
Code:
    dwRet = RegQueryValueEx( HKEY_PERFORMANCE_DATA,
                             TEXT("Global"),
                             NULL,
                             NULL,
                             (LPBYTE) PerfData,
                             &cbData );
 
  • Probleme mit RegQueryValueEx Beitrag #3
P

pc-jedi

Neues Mitglied
Dabei seit
28.06.2010
Beiträge
3
Reaktionspunkte
0
Hi

Habe das mal Probiert aber es macht keinen Unterschied. Habe auch mal nach geguckt. Mein Projekt wir im Multi-Byte-Zeichensatz kompiliert.
 
  • Probleme mit RegQueryValueEx Beitrag #4
the ubm

the ubm

Senior Moderator
Dabei seit
29.05.2005
Beiträge
9.464
Reaktionspunkte
1
Hast du Windows Mista oder 7 ? Läuft dein Programm als Administrator? Könnte ja sein, dass Windows nicht Adminprogrammen diese Werte vorenthält.
 
  • Probleme mit RegQueryValueEx Beitrag #5
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Aber dann müsste doch bereits RegOpenKeyEx mit KEY_ALL_ACCESS-Rechten fehlschlagen, sehe ich das Richtig?
 
  • Probleme mit RegQueryValueEx Beitrag #6
P

pc-jedi

Neues Mitglied
Dabei seit
28.06.2010
Beiträge
3
Reaktionspunkte
0
Ich habe 7 und starte immer mit Admin rights
 
Thema:

Probleme mit RegQueryValueEx

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben