Registry Einträge bearbeiten

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Lolf
Beiträge: 1
Registriert: Di Aug 19, 2014 12:09 pm

Registry Einträge bearbeiten

Beitrag von Lolf » Di Aug 19, 2014 12:11 pm

ich versuche gerade in Programm in C++ zu programmieren welches folgendes tun soll:

1. Das Programm ließt den Wert einer Datei Typ "REG_SZ" aus und gibt ihn dannach für mich lesbar aus.

2. Das Programm soll überprüfen ob der Wert der Datei einem vorgegebenem Wert entspricht. Wenn nicht soll der vorhandene Wert in den anderen Wert geändert werden.

Bis jezt habe ich Punkt 1 erfüllt.
Für Punkt 2 brauche ich eure Hilfe.
Mein bisheriger Code:

Code: Alles auswählen

#include <windows.h>
#include <stdio.h>

int main(int argc, char **argv)
{
    unsigned char temp[99] = {""};
    unsigned long size = sizeof(temp);
    HKEY hKey;
  
    RegOpenKey(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\services\\NlaSvc\\Parameters\\Internet", &hKey);
    RegQueryValueEx(hKey, "ActiveWebProbeHost", NULL, NULL, temp, &size);
    RegCloseKey(hKey);
    printf("Wert: %s", temp, size);
    return 0;
}
Ich hoffe ihr könnt mir bei der Umsetzung des 2. Punktes behilflich sein.
:D :D

Edit by cloidnerux: Code-tags

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Registry Einträge bearbeiten

Beitrag von cloidnerux » Di Aug 19, 2014 12:19 pm

Hi und Willkommen im Forum :D
2. Das Programm soll überprüfen ob der Wert der Datei einem vorgegebenem Wert entspricht. Wenn nicht soll der vorhandene Wert in den anderen Wert geändert werden.
Du bekommst einen String von RegQuereyValueEx zurück, den du in temp speicherst.
Dein zweiter Teil besteht jetzt darin, denn String mit einem Soll-wert, der ja auch wieder ein String ist, zu vergleichen und gegeben falls den Registry Eintrag zu ändern.
Für String vergleiche haben wir auch was im Wiki: http://www.proggen.org/doku.php?id=c:lib:string:strcmp
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
oenone
Beiträge: 223
Registriert: Do Sep 01, 2011 2:42 pm
Wohnort: Bremen
Kontaktdaten:

Re: Registry Einträge bearbeiten

Beitrag von oenone » Mi Aug 20, 2014 10:03 am

Für das Ändern gibt es genauso eine RegSetValueEx Funktion.

Wozu überhaupt den Wert auslesen und überprüfen? Wenn du ihn gleich ersetzt, hast du höchstens eine unnötige Schreib-Aktion im Falle der Gleichheit, am Endergebnis ändert sich aber nichts.

Antworten