如何将此功能转换为Delphi 2010(Unicode)?将功能转换为delphi 2010(unicode)
function TForm1.GetTarget(const LinkFileName:String):String;
var
//Link : String;
psl : IShellLink;
ppf : IPersistFile;
WidePath : Array[0..260] of WideChar;
Info : Array[0..MAX_PATH] of Char;
wfs : TWin32FindData;
begin
if UpperCase(ExtractFileExt(LinkFileName)) <> '.LNK' Then
begin
Result:='NOT a shortuct by extension!';
Exit;
end;
CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, psl);
if psl.QueryInterface(IPersistFile, ppf) = 0 Then
Begin
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PAnsiChar(LinkFileName), -1, @WidePath, MAX_PATH);
ppf.Load(WidePath, STGM_READ);
psl.GetPath((@info), MAX_PATH, wfs, SLGP_UNCPRIORITY);
Result := info;
end
else
Result := '';
end;
感谢
说,会发生什么,如果我有一个名为一个真正的文件“不是扩展的一个简缩!“我做了一个链接呢?这个函数的调用者将如何知道其差异? – 2009-11-25 17:55:18