Thema: Delphi REG_EXPAND_SZ

Einzelnen Beitrag anzeigen

delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: REG_EXPAND_SZ

  Alt 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
  Mit Zitat antworten Zitat