![]() |
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 |
Re: REG_EXPAND_SZ
@all
Eigentlich dachte ich wolle nach HKEY_CLASSES_ROOT schreiben. Mein Vorhaben ist, ein Programm zu schreiben in dem der User zb. das Icon für das bmp oder txt ändenr kann... oder halt auch neue Dateitypen anlegen... was auch nicht funktioniert Edit: warum ich unterschiedliche HKeys verwende - dachte das brignt was :-) |
Re: REG_EXPAND_SZ
Moin Doreen,
wenn es nur der User ändern soll, versuche mal in HKEY_CURRENT_USER\Software\Classes zu schreiben. |
Re: REG_EXPAND_SZ
Zitat:
![]() Selbst mit dem aktivierten Administrator-Konto und als Administrator haut Dir Vista immer neue Stecken in die Speichen. Ich wünschte mir nur, der "Selbstschutz" von Vista wäre genausogut gegen Viren ausgeprägt... mfg |
Re: REG_EXPAND_SZ
Zitat:
Der zwangsläufig neu angelegete Schlüssel .bmp wird missachtet! "HKEY_CURRENT_USER\Software\Classes\.bmp\DefaultIc on" Unter "HKEY_CURRENT_USER\Software\Classes\" gibt es/gab es nicht einen einzigen Wert! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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