[gelöst] Daten in die Registry schreiben und lesen unter Win
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
[gelöst] Daten in die Registry schreiben und lesen unter Win
Hallo, wie kann ich mit QT4 Werte aus der Registry lesen z.b den Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
und nach in den Schlüssel Run Werte schreiben.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
und nach in den Schlüssel Run Werte schreiben.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Daten in die Registry schreiben und lesen unter Windows
Gar nicht, zumindest habe ich noch nichts gefunden. Da die Registry sowieso ein Windows Eigenunkraut ist, mach es mit Präprozessor-Defs:BartSimpson hat geschrieben:Hallo, wie kann ich mit QT4 Werte aus der Registry lesen z.b den Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
und nach in den Schlüssel Run Werte schreiben.
#ifdef Q_WS_WIN
.
.
.
#endif
Ansonsten würde ich die Finger von der Registry lassen. Was Dümmeres konnten die sich nicht einfallen lassen.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Daten in die Registry schreiben und lesen unter Windows
Sag mal kannst Du nicht lesen??macman hat geschrieben:Gar nicht, zumindest habe ich noch nichts gefunden.BartSimpson hat geschrieben:Hallo, wie kann ich mit QT4 Werte aus der Registry lesen z.b den Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
und nach in den Schlüssel Run Werte schreiben.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Daten in die Registry schreiben und lesen unter Windows
Oh erleuchte michChristian81 hat geschrieben:Sag mal kannst Du nicht lesen??
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
HKEY_CLASSES_ROOT wollte er gar nichts schreiben und das geht wirklich nict mit QSettings.
HKEY_LOCAL_MACHINE geht mittels QSettings::Scope = QSettings::SystemScope
QSettings ist hundertmal besser als die blöden winApi-Funktionen und solange man damit auskommt (was ja bei ihm der Fall sein sollte), sollte man sie auch der Beqeumlichkeit halber benutzen.
HKEY_LOCAL_MACHINE geht mittels QSettings::Scope = QSettings::SystemScope
QSettings ist hundertmal besser als die blöden winApi-Funktionen und solange man damit auskommt (was ja bei ihm der Fall sein sollte), sollte man sie auch der Beqeumlichkeit halber benutzen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Bist Du dir da sicher? So wie ich die Doku verstanden habe ist UserScope für HKEY_CURRENT_USER und SystemScope für HKEY_USER. Da war nichts für HKEY_LOCAL_MACHINE. Ich hab mich nicht weiter damit befasst, da ich nicht an alles ran kam.Christian81 hat geschrieben:HKEY_LOCAL_MACHINE geht mittels QSettings::Scope = QSettings::SystemScope
Ich will keine Lanze für Mickeysoft brechen, ganz bestimmt nicht, aber man braucht 3 Funktionen um an jeden Wert zu kommen. RegOpenKey, RegQueryValue und RegCloseKey. Einfacher geht es mit QSettings auch nicht.Christian81 hat geschrieben:QSettings ist hundertmal besser als die blöden winApi-Funktionen und solange man damit auskommt (was ja bei ihm der Fall sein sollte), sollte man sie auch der Beqeumlichkeit halber benutzen.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Nein, es ist HKCU und HKLM (siehe z.B. src/corlib/io/qsettings.cpp:390++), ausserdem hätte ich es sonst in qt3/free falsch gemacht
. Und mit Qt geht es einfacher da man sich nicht um die zig Parameter kümmern muss die Reg(*)KeyEx(A|W) benötigen - schau dir mal die qsettings_win.cpp mal an.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Hab geschaut, Du hast recht. Dafür gibt es keine Möglichkeit an HKEY_USER zu kommen. Im Endeffekt bleibe ich bei meiner bisherigen Vorgehensweise, bevor ich jetzt anfange das zu mischen. Ich benutze zwar auch QSettings um meine Programmeinstellungen zu sichern, aber die kommen nicht in die Registry. Da gehören sie IMHO nicht hin.
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Habe gemal mal in die Doku geschaut. Dort word was dies so geschriebe.:
Mal schauen, wie weit man damit kommt:)
Code: Alles auswählen
QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft",
QSettings::NativeFormat);
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Platform und Windows-Version?BartSimpson hat geschrieben:Das geht Prima:)
in meinem Fall benötige ich es um die Platform und die Windowsversion zu lesen.
Reicht Dir da nicht QSysInfo (Qt4) bzw. 'static WindowsVersion winVersion()' (Qt3, win only)?
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten: