Laut
msdn kann
IShellLink Ansi und
UniCode.
Delphi-Quellcode:
function CreateLink(const AFilename, ALNKFilename, ADescription: string) : Boolean;
var
psl : IShellLink;
ppf : IPersistFile;
begin
result:=false;
if SUCCEEDED(CoCreateInstance(CLSID_ShellLink, nil,
CLSCTX_inPROC_SERVER, IID_IShellLinkA, psl)) then
begin
psl.SetPath(PWideChar(AFilename));
psl.SetDescription(PWideChar(ADescription));
psl.SetWorkingDirectory(PWideChar(ExtractFilePath(AFilename)) ;);
if SUCCEEDED(psl.QueryInterface(IPersistFile, ppf)) then
begin
ppf.Save(PWideChar(ALNKFileName, true);
// das result := true sollte noch irgendwo untergebracht werden.
end;
end;
end;
Weil, mkinzler hatte mal in einem Thread geschrieben:
Delphi2009 String =
UniCode <> WideString
Dies ist auch mein letzter Versuch, ich habe auch kein Delphi2009 zur Verfügung.
Grüße
Klaus