Почему не получаеться добавить REG_MULTI_SZ
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | procedure TRegistry . WriteStringList( const name: string ; list: TStringList);
var
Buffer: Pointer ;
BufSize: DWORD;
i, j, k: Integer ;
s: string ;
p: PChar ;
begin
BufSize := 0 ;
for i := 0 to list . Count - 1 do
inc(BufSize, Length(list[i]) + 1 );
inc(BufSize);
GetMem(Buffer, BufSize);
k := 0 ;
p := Buffer;
for i := 0 to list . Count - 1 do
begin
s := list[i];
for j := 0 to Length(s) - 1 do
begin
p[k] := s[j + 1 ];
inc(k);
end ;
p[k] := chr( 0 );
inc(k);
end ;
p[k] := chr( 0 );
if RegSetValueEx(CurrentKey, PwideChar (name), 0 , REG_MULTI_SZ, Buffer,
BufSize) <> ERROR_SUCCESS then
raise Exception . Create( 'Error RegistryExt Write Param ' +name);
end ;
|
Код:
1 2 3 4 5 6 7 8 9 10 11 | s1 := TStringlist . Create;
s1 . Add( 'd:\pagefile.sys 0 0' );
try
reg := TRegistry . Create;
reg . RootKey := HKEY_LOCAL_MACHINE;
if reg . OpenKey( 'SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management' , true ) then
reg . WriteStringList( 'PagingFiles' , s1);
finally
reg . CloseKey;
reg . Free;
end ;
|
В результате ключ PagingFiles получает значение d:\pagef и все...??
в чем проблема то??
__________________
Нет ничего не возможного. Вопрос только во времени...
Последний раз редактировалось Electronic_Arts, 07.04.2014 в 23:35.
|