Borrisholt: Du strør' jo guld på din vej (smiger, smiger), men du bl.a. bruger OpenKey(..,true) - hvilket er en lille fejl, i stedet for OpenKeyReadOnly bør bruges ved læsninger. Burde man ikke også spørge på om value'en findes? Beklager at jeg er sådan en flueknepper - det er genetisk betinget ;-)
function GetSpecialFolderLocation(folder: string): string;
begin
Result := '';
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
if OpenKeyReadOnly('\Software\Microsoft\Windows\'+
'CurrentVersion\Explorer\Shell Folders') then
if ValueExists(Folder) then
Result := ReadString(Folder);
finally
Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Path: string;
begin
Path := IncludeTrailingBackslash(GetSpecialFolderLocation('Favorites'));
with TIniFile.Create(Path + 'Eksperten' + '.url') do
try
WriteString('DEFAULT', 'BASEURL', '
http://www.eksperten.dk');
WriteString('InternetShortcut', 'URL', '
http://www.eksperten.dk');
WriteString('InternetShortcut', 'IconFile', '
http://www.eksperten.dk/favicon.ico');
WriteInteger('InternetShortcut', 'IconIndex', 1);
finally
Free;
end; // try
end;