//....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;//....
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;//....
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货