在用delphi做一个安装程序,如何在“开始”中也建立相应的快捷方式。谢谢了

解决方案 »

  1.   

    C:\Documents and Settings\Administrator\Start Menu
    在这个目录里放就可以了~
    我这是xp的~
      

  2.   

    用delphi自带的installshield express custom for delphi 就可以制作安装程序,可以把快捷方式建立到桌面、开始菜单和快速启动栏
      

  3.   

    可以在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 中找到Common Programs的值作为路径,在这个路径下新增目录就OK了
      

  4.   

    Function create_startup_filelink(group_path,link_file,link_name:String):Boolean;
    var
      tmpObject : IUnknown;
      tmpSLink : IShellLink;
      tmpPFile : IPersistFile;
      StartupDirectory : String;
      StartupFilename : String;
      LinkFilename : WideString;
    begin
      tmpObject := CreateComObject(CLSID_ShellLink);//创建建立快捷方式的外壳扩展
      tmpSLink := tmpObject as IShellLink;//取得接口
      tmpPFile := tmpObject as IPersistFile;//用来储存*.lnk文件的接口
      StartupDirectory:=group_path;
      tmpSLink.SetPath(pChar(link_file));//设定notepad.exe所在路径
      tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(link_file)));//设定工作目录
      LinkFilename := StartupDirectory +'\'+ link_name + '.lnk';
      tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
      result:=True;
    end;Function create_desktop_filelink(link_file:String;link_name:WideString):Boolean;
    var
      tmpObject : IUnknown;
      tmpSLink : IShellLink;
      tmpPFile : IPersistFile;
      PIDL : PItemIDList;
      StartupDirectory : array[0..MAX_PATH] of Char;
      StartupFilename : String;
      LinkFilename : WideString;
    begin
      tmpObject := CreateComObject(CLSID_ShellLink);//创建建立快捷方式的外壳扩展
      tmpSLink := tmpObject as IShellLink;//取得接口
      tmpPFile := tmpObject as IPersistFile;//用来储存*.lnk文件的接口
      tmpSLink.SetPath(pChar(link_file));//设定notepad.exe所在路径
      tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(link_file)));//设定工作目录
      SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);//获得桌面的Itemidlist
      SHGetPathFromIDList(PIDL,StartupDirectory);//获得桌面路径
      LinkFilename := StartupDirectory + link_name;
      tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
      result:=True;
    end;