Registriert seit: 16. Feb 2006
444 Beiträge
Delphi 11 Alexandria
|
Re: REG_EXPAND_SZ
16. Apr 2008, 22:53
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;
Doreen Gruss Doreen
|
|
Zitat
|