读书人

有没有提供接口创建此快捷方式啊该如何

发布时间: 2012-02-20 21:18:24 作者: rapoo

有没有提供接口创建此快捷方式啊?
请问:
IShellLink 接口可以创建lnk类型的快捷方式,
请问有没有用于创建lnk文件的接口?有的话希望能给下demo

[解决办法]

Delphi(Pascal) code
function CreateLink(ProgramPath, ProgramArg, LinkPath,  Descr: String): Boolean;var  AnObj: IUnKnown;  ShellLink: IShellLink;  AFile: IPersistFile;  FileName: WideString;begin  if UpperCase(ExtractFileExt(LinkPath)) <> '.LNK' then    raise Exception.Create('快捷方式扩展名必须是LNK');  try    OleInitialize(nil);    AnObj := CreateComObject(CLSID_ShellLink);    ShellLink := AnObj as IShellLink;    AFile := AnObj as IPersistFile;    with ShellLink do    begin      SetPath(PChar(ProgramPath));      SetArguments(PChar(ProgramArg));      SetWorkingDirectory(PChar(ExtractFilePath(ProgramPath)));      SetDescription(PChar(Descr));      FileName := LinkPath;      Result := AFile.Save(PWChar(FileName),False) = 0;    end;  finally    OleUnInitialize;  end;end; 

读书人网 >.NET

热点推荐