Entwickler-Ecke
Dateizugriff - hex(7) Schlüsselwert in Registry speichern
dynamo - Fr 09.05.08 21:05
Titel: hex(7) Schlüsselwert in Registry speichern
möchte folgenden Schlüssel mit Wert in die Registry schreiben:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems]
"Optional"=hex(7):50,00,6f,00,73,00,69,00,78,00,00,00,00,00
Aber ich weiß nicht, was "hex(7)" bedeutet und welche write-Methode ich wählen muss.
writeCurrency()
writeBinaryData()
writeBool()
writeDate()
writeDateTime()
writeFloat()
writeInteger()
writeString()
writeExpandString()
writeTime()
Diese write-Methoden bietet Delphi mir an - sie scheinen aber alle nicht zu passen.
Der Datentyp in der Registry soll Reg_Multi_SZ ergeben.
Ich glaube, dieses Thema scheint es im ganzen Internet nicht zu geben
(habe 2 Tage recherchiert - jetzt habe ich keine Lust mehr)
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 09.05.2008 um 23:48
Delete - Fr 09.05.08 21:28
ich weiß es auch nit richtig ,aber versuch es mal mit probieren:
writeString()
writeExpandString()
writeTime()
writeBool()
writeDate()
writeDateTime()
..kann man glaub ich auch ausschließen.....
versuch einfach mal odr frag die delphi-hilfe..
j.klugmann
Yogu - Fr 09.05.08 21:37
Hallo,
willst du die Konstante 7 speichern? Da sind doch Hexadezimal und Deizimal genau gleich - also WriteInteger. Wenn du eine hexadezimale Variable - also einen Integer hast, kannst du das auch so machen. Wenn du aber einen String hast, in dem der Wert hexadezimal vorliegt, musst du dir eine Methode schreiben, ihn umzuwandeln.
Grüße,
Yogu
Delete - Fr 09.05.08 21:45
:autsch: :autsch: :autsch: :autsch: :autsch: ...das tat mir weh... :autsch: :autsch: :autsch: :autsch:
ach und :welcome: !!!!!
dynamo - Sa 10.05.08 19:35
Ich hab noch 'n bischen rumprobiert - aber leider ohne Erfolg.
Es scheint mit Delphi nicht möglich zu sein, einen Registrywert vom Typ "REG_MULTI_SZ"
zu erzeugen - jedenfalls nicht mit der Registry-VCL.
Zur Schreibweise "Hex(7)" habe ich rausgefunden, daß dies wohl eine VB-Funktion ist.
aus -> "Optional"=hex(7):50,00,6f,00,73,00,69,00,78,00,00,00,00,00
wird -> "posix" als String erzeugt.
Ich hab jetzt einen anderen Weg versucht, die reg-Datei mit Delphi zu importieren:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| prog := 'c:\test.reg'; oder prog := 'regedit /s c:\test.reg' oder prog := 'regedit.exe /s c:\test.reg'
success := ShellExecute(0, Nil, PChar(prog), Pchar('s'), nil, SW_NORMAL); |
Sämtliche Varianten hab ich ausprobiert -> das Programm "regedit" zeigt entweder immer
zwei lästige Hinweis-Fenster, die ich bestätigen muß, oder ShellExecute wird nicht
ausgeführt.
Der Parameter "/s" sollte eigentlich für den Silent-Betrieb dienen, funzt aber bei mir
nicht. Entweder hab ich die lästigen Hinweis-Fenster - oder es geht gar nicht.
Wie krieg ich den Silent-Betrieb hin ?
In der cmd-line geht es immerhin.
Moderiert von
Narses: Delphi-Tags hinzugefügt
dynamo - Sa 10.05.08 23:49
Ha, ich hab's - zumindest, was die silent-Ausführung betrifft.
Im angegebenen Pfad waren Leerzeichen vorhanden, habe sie durch "_" ersetzt. jetzt geht's. :D
Aber die Probleme s.o. hex(7)... usw konnte ich leider immer noch nicht lösen. :(
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!