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

解决方案 »

  1.   


    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;
      

  2.   


    我晕死,打错了,应该是创建URL的快捷方式啊
      

  3.   

    用这个函数就行了。ProgramPath = 'C:\Program Files\Internet Explorer\IEXPLORE.EXE'
    ProgramArg = 'http://www.163.com'
      

  4.   

    大哥您好,我要创建URL格式的英特尔快捷方式。
    我打开了一个URL是这样的
    [DEFAULT]
    BASEURL=http://www.baidu.com/
    [InternetShortcut]
    URL=http://www.baidu.com/
    IDList=
    IconFile=http://www.baidu.com/favicon.ico
    IconIndex=1
    HotKey=117我想知道有没有接口可以生成这格式的URL,还有是我要顺便设置个URL的快捷键。
      

  5.   

    就是一个ini文件改了后缀而已,后缀名url
      

  6.   

    你创建INI什么都不能设置快捷键啊。我要利用com接口设置快捷键
      

  7.   


    HotKey=117这一句不是设置快捷键么?
      

  8.   

    http://hi.baidu.com/%B3%CC%D0%F2%D4%B1%D0%A1%CA%AF/blog/item/4f798b0b0b592ce837d12274.html
      

  9.   

    很谢谢大哥您的回答,但是这接口没hotkey函数设置快捷键哦