Wie kann ich REG_EXPAND_SZ-Einträge in einer .REG-Datei angeben?

8

Ich versuche, ein Batch-Skript und eine .REG-Datei zu verwenden, um einige benutzerdefinierte Dienste einzurichten. Die meisten Schlüssel werden ordnungsgemäß eingerichtet, aber ich muss den DependOnService-Schlüssel für einige Dienste festlegen, die normalerweise aus mehreren Zeichenketten bestehen. Ist es möglich, diesen Schlüssel aus einer .REG-Datei festzulegen, oder ist eine manuelle Eingabe erforderlich?

MBraedley
quelle

Antworten:

10

REG_MULTI_SZ-Daten in .REG-Dateien müssen hexadezimal codiert sein. Wenn sich der Inhalt nie ändert, können Sie in der Registrierung ein Dummy-Element mit den Daten erstellen, exportieren und an Ihre Bedürfnisse anpassen.

Wenn sich dies ändert, wird es wahrscheinlich einfacher sein, die reg Befehl, der in Windows enthalten ist, um es hinzuzufügen. Rufen Sie dazu reg in folgendem Format auf:

reg add <KEY> /v <NAME> /t REG_MULTI_SZ /d <DATA> /s <SEPERATOR>

Der Trennschalter ist optional. Wenn nicht verwendet, sollten die zu schreibenden Zeichenfolgen durch die Escape-Sequenz für das Nullzeichen getrennt werden ( \0 ). Zum Beispiel, um einen Artikel namens hinzuzufügen Flair zu HKEY_LOCAL_ MACHINE\SOFTWARE\WhizBang\Excite-O-Rama mit den Saiten foo. bar, und baz du würdest laufen

reg add HKEY_LOCAL_ MACHINE\SOFTWARE\WhizBang\Excite-O-Rama /v Flair /t REG_MULTI_SZ /d foo\0bar\0baz

Um die Daten stattdessen durch Kommas zu trennen, führen Sie Folgendes aus:

reg add HKEY_LOCAL_ MACHINE\SOFTWARE\WhizBang\Excite-O-Rama /v Flair /t REG_MULTI_SZ /d foo,bar,baz /s ,

Weitere Informationen finden Sie unter Microsofts Dokumentation des reg Befehl .

Patches
quelle
3
Tolle Antwort (mit einem .bat Datei mit reg Befehl statt eines .reg Datei), aber warum spricht es über REG_MULTI_SZ, wenn die Frage REG_EXPAND_SZ ist
Norswap
1

DWORD = dword: Erweiterbarer String = Hex (2): Multi String = hex (7):

Ein DWORD ist eine vorzeichenlose 32-Bit-Ganzzahl (Bereich: 0 bis 4294967295 dezimal) In der Registrierung beginnt ein DWORD immer mit 0x. In der Registrierung haben DWORDS immer 8 Ziffern, die auf 0x folgen. Dies kann im Dezimal- oder Hexadezimalformat sein, 1000 kann geschrieben werden als: 0x00001000 oder 0x000003e8

DWORDS kann nur die Ziffern 0-9 verwenden. Zeichenfolgen aller Art verwenden immer ASCII, in ACSII 1000 kann nur geschrieben werden als 31,30,30,30 Beim Datentyp String arbeitet ASCII im Hintergrund, ohne dass Sie es wissen. Es muss, weil der Computer nur Einsen und Nullen versteht. Bei erweiterbaren Zeichenfolgen- und Mehrfachzeichenfolgen-Datentypen werden Ihre Einträge als eine Reihe von ASCII-Codes in einem hexadezimalen Format gespeichert, die durch Kommas und hexadezimale Nullen getrennt sind. Eine erweiterbare Zeichenfolge von 1000 wäre also: hex (2): 31,00,30,00,30,00,30,00

Lassen Sie uns% PROGRAMFILES% in eine erweiterbare Zeichenfolge konvertieren. Laden Sie zuerst das herunter: https://hotfile.com/dl/244097278/55aa086/ASCII_2_HEX_Conversion_Tool.7z.html

Öffnen Sie das jetzt in einem modernen Browser. Geben Sie% PROGRAMFILES% in das ASCII-Feld ein und wählen Sie "encoden". Sie erhalten% 25% 50% 52% 4F% 47% 52% 41% 4D% 46% 49% 4C% 45% 53% 25 Kopieren Sie das Einfügen in einen Texteditor, verschieben Sie das erste% am Ende. Wählen Sie den Befehl zum Ersetzen aus, suchen Sie alle "%" und ersetzen Sie sie mit ", 00,". Entfernen Sie das Komma ganz am Ende. Sie sollten erhalten: 25,00,50,00,52,00,4F, 00,47,00,52,00,41,00,4D, 00,46,00,49,00,4C, 00,45, 00,53,00,25,00 Und schlussendlich, hex (2): 25,00,50,00,52,00,4F, 00,47,00,52,00,41,00,4D, 00,46,00,49,00,4C, 00,45 00,53,00,25,00

Erledigt.

Haben Sie jemals versucht, einen merkwürdigen Hex-Registrierungseintrag in ASCII zu konvertieren, und ist kläglich gescheitert. Diese Lektion enthält alle Kenntnisse, die erforderlich sind, um einen nicht verschlüsselten hexadezimierten Registrierungseintrag rückzuentwickeln. Habe Spaß!

DarkReverser
quelle
Der Hotfile-Link ist nur ein 7z-Archiv, in dem eine HTML-Seite (die den Konverter enthält) gespeichert ist. Warum verlinken Sie nicht einfach auf die Webseite?
John Bensin
Um Links zu vermeiden, posten Sie bitte alle relevanten Informationen in Ihrer Antwort. Weitere Informationen zur Beantwortung von Fragen finden Sie unter Wie soll ich antworten?
50-3