写注册表中REG_MULTI_SZ的代码,支持d2010,EM论坛里找的。

写注册表中REG_MULTI_SZ的代码,支持d2010,EM论坛里找的。

procedure WriteMultiStrings(const valueName: string; aStrings: TStrings;
oReg: TRegistry);
var
i: integer;
size: DWORD;
st:
string;
begin
st :
= '';
for i := 0 to aStrings.Count - 1 do
st :
= st + aStrings[i] + #0;
st :
= st + #0;
size :
= Length(st) * SizeOf(Char);
SetLastError(RegSetValueEx(oReg.CurrentKey, PChar(valueName),
0,
REG_MULTI_SZ, @st[
1], size));
if GetLastError <> ERROR_SUCCESS then
raise Exception.Create('Unable to write MULTI_SZ value');
end;
原文地址:https://www.cnblogs.com/star5/p/1889442.html