2009-06-29 8 views
0

Hier ist das Problem.Lesen und Schreiben eines Schlüssels in/aus der Registrierung

Ich erhalte die folgende Zeichenfolge als Parameter auf meine Funktion:

HKEY_CURRENT_USER\Software\MyProgram\SomeKey 

wo somekey ein

REG_DWORD ist

und einen Wert hat. Ich muss zu diesem Schlüssel (SomeKey) lesen und schreiben, aber alle Registrierungsfunktionen, die ich kenne, nehmen HKEY_CURRENT_USER getrennt vom Rest des Schlüssels (\ Software \ MyProgram \ SomeKey). Gibt es eine API oder Funktion, um die ganze Zeichenfolge zu übergeben und den Wert von diesem Schlüssel abzurufen? und einen Wert auf diesen Schlüssel schreiben?

Wenn nicht, weiß jemand einen guten, schnellen Weg, dies zu tun?

dank

Antwort

1

Sie müssen die Zeichenfolge in Ihrer Funktion aufteilen, um die richtige Struktur für den Aufruf zu ermitteln.

+0

Ich weiß, dass ich das tun muss. Ich wollte einfach nicht anfangen, Strings zu analysieren. C ist nicht sehr freundlich, wenn es um das Parsen von Strings geht. – wonderer

+0

C ist gut für das Parsen von Strings. In diesem Fall ist es einfach, Sie suchen nur nach dem ersten Schrägstrich. Da sind deine zwei Tokens. – Joe

+0

OK, und das Codeschnipsel ... – wonderer

0

Try RegQueryValue (Ex) und RegSetValue (Ex). Sie können sie auf msdn nachschlagen.

+0

Danke, aber wie ich schon erwähnte muss ich die ganze Zeichenfolge als eine lesen. Um die Funktionen, die Sie erwähnen, zu verwenden, muss ich RegOpenKeyEx() verwenden, was, wenn Sie in der MSDN suchen, als einen ersten Parameter einen HKEY erfordert, der in meinem Fall in die Zeichenfolge eingebettet ist. Die Frage war, ob Sie einen guten Weg kennen, dies mit einer ganzen Saite zu machen. Ich möchte wirklich nicht anfangen, Strings zu analysieren, was ehrlich gesagt ein Schmerz in der a ist. – wonderer

0

Wonderer die Antwort auf Ihre Frage, wie Sie es gefragt haben, und eher wenig hilfreiche Kommentare über, ist nein.

Sie müssen tatsächlich etwas arbeiten, und tatsächlich schreiben Sie einige Codes, da es keine API-Erstellung gibt, die eine Zeichenfolge, die Sie oben geschrieben haben, nehmen und tun, was Sie fragen. Microsoft hat angenommen, dass die Leute bereit wären, das kleine bisschen Code selbst zu machen.

Also die Antwort auf Ihre Frage ist nein, es gibt keine API-Funktion, die das tut, was Sie fragen.

Verwandte Themen