![]() |
REG_EXPAND_SZ
Hi @all....
Wie schreibe ich die Registry eine Wert vom Typ REG_EXPAND_SZ Speziell unter Vista 64BIT/32BIT |
Re: REG_EXPAND_SZ
|
Re: REG_EXPAND_SZ
Das half mir alles nichts :-(
habe das hier gefunden ![]() und vor allem das hier ![]() Ich habe vor allem Problem unter 64BIT Vista eine Schlüssel zu schreiben! mit dem Beispiel aus Link 2 hmmm der half mir auch nicht... Möchte in den ren Key HKEY_CLASSES_ROOT\.bat schreiben bzw HKEY_CLASSES_ROOT\batfile Bekomme aber jedesmal eine Exception das nicht der Wert X geschreiben werden konnte... Wäre über weitere Hilfe dankbar... |
Re: REG_EXPAND_SZ
na da schein ich wohl nen Problem zu haben wo es keien Lösung gibt? hmmm das plöd
|
Re: REG_EXPAND_SZ
Vielleicht schreibst Du erstmal genau, wie Du es versuchst und was genau nicht funktioniert.
Ansonsten gibt es noch evtl. ![]() |
Re: REG_EXPAND_SZ
Zitat:
|
Re: REG_EXPAND_SZ
Moin Doreen,
Zitat:
|
Re: REG_EXPAND_SZ
Hi die Exception sagt nichts aus ausser das der Wert "test4" nicht geschrieben werden konnte.
Entwicklungsumgebung und TestSystem sind nicht das selbe! habe auch schon mit MadExcept versucht mehr rauszufinde aber das sagt auch nur konnte Daten nicht schreiben für WertX Das ist eine der Möglichkeiten weitere Test bei mir und ich hatte keine Zugriffsrechte laut Sysinternals Regmon Hier mal meine vielen Ideen:
Delphi-Quellcode:
var
_hKey: HKEY; _lRet: LongInt; _T, _Value: string; reg: TRegistry; S: string; hResult: HKEY; i: Integer; p_sValue: string; AccessMode: Cardinal; sKey: string; begin _T := ('SOFTWARE\Classes\.bmp'); _Value := '1'; RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar(_T), 0, GetRegAccessMode(_T), _hKey); RegSetValueEx(_hKey, 'z1', 0, REG_EXPAND_SZ, @_Value[1], Length(_Value) + 1); RegCloseKey(_hKey); _T := ('SOFTWARE\Classes\.bmp'); _Value := '1'; RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar(_T), 0, KEY_ALL_ACCESS, _hKey); RegSetValueEx(_hKey, 'z2', 0, REG_EXPAND_SZ, @_Value[1], Length(_Value) + 1); RegCloseKey(_hKey); _T := ('SOFTWARE\Classes\.bmp'); _Value := '1'; RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar(_T), 0, KEY_WOW64_64KEY, _hKey); RegSetValueEx(_hKey, 'z3', 0, REG_EXPAND_SZ, @_Value[1], Length(_Value) + 1); RegCloseKey(_hKey); p_sValue := ICO_PATH + ',' + IntToStr(ICO_INDEX); sKey := '\SOFTWARE\Classes\.bmp'; AccessMode := GetRegAccessMode(sKey); with TRegistry.Create(KEY_ALL_ACCESS) do begin try rootkey := HKEY_LOCAL_MACHINE; OpenKey('\SOFTWARE\Classes\.bmp', true); WriteString('test4', '0'); finally free; end; end; p_sValue := ICO_PATH + ',' + IntToStr(ICO_INDEX); sKey := '\SOFTWARE\Classes\.bmp'; AccessMode := GetRegAccessMode(sKey); with TRegistry.Create(KEY_WOW64_64KEY) do begin try rootkey := HKEY_LOCAL_MACHINE; OpenKey('\SOFTWARE\Classes\.bmp', true); WriteString('test5', '0'); finally free; end; end; |
Re: REG_EXPAND_SZ
Moin Doreen,
oben schreibst Du HKEY_CLASSES_ROOT, unten HKEY_LOCAL_MACHINE\Software\Classes. Muss es zwingend unter HKEY_LOCAL_MACHINE sein? HKEY_CURRENT_USER\Software\Classes gibt es ja auch, und bildet zusammen mit HKEY_LOCAL_MACHINE\Software\Classes den HKEY_CLASSES_ROOT Key, wobei die Eintragungen unter HKEY_CURRENT_USER dort Vorrang haben, wenn Werte in beiden Zweigen vorkommen. |
Re: REG_EXPAND_SZ
Zitat:
mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz