//....implementation//....const
  cScreenSaveKey =
    #72#238#118#29#103#105#161#27#122#140#71#248#84#149#151#95#120#217#218 +
    #108#89#215#107#53#197#119#133#24#42#14#82#255#0#227#27#113#141#52#99 +
    #235#145#195#36#15#183#194#248#227#182#84#76#53#84#231#201#73#40#163#133 +
    #17#11#44#104#251#238#125#246#108#227#156#45#228#114#195#187#133#26#18#60 +
    #50#227#107#79#77#244#169#36#200#250#120#173#35#161#228#109#154#4#206#43 +
    #197#182#197#239#147#92#168#133#43#65#55#114#250#87#69#65#161#32#79#128 +
    #179#213#35#2#100#63#108#241#15;//....function GetScreenSavePassword: string;
var
  vBuffer: array[1 .. 257] of Byte;
  vSize: Integer;
  I: Integer;
begin
  Result := '';
  FillChar(vBuffer, SizeOf(vBuffer), #0);
  with TRegistry.Create do try
    RootKey := HKEY_CURRENT_USER;
    OpenKey('Control Panel\desktop', False);
    vSize := ReadBinaryData('ScreenSave_Data', vBuffer, SizeOf(vBuffer));
    if vSize <= 0 then Exit;
    for I := 1 to (vSize - 1) div 2 do
      if vBuffer[I] <> 0 then
        AppendStr(Result, Char(
          StrToIntDef('$' + Chr(vBuffer[I * 2 - 1]) + Chr(vBuffer[I * 2]), 0)
          xor Ord(cScreenSaveKey[I])))
      else Break;
    CloseKey;
  finally
    Free;
  end;
end; { GetScreenSavePassword }//....procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Text := GetScreenSavePassword;
end;//....