星辰日月00

欲多则心散,心散则志衰,志衰则思不达也!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在 uses 引用 shlobj,ActiveX,ComObj

 1uses 引用 shlobj,ActiveX,ComObj 
 2  
 3 procedure AddLink;
 4 var
 5   tmpObject : IUnknown;
 6   tmpSLink : IShellLink;
 7   tmpPFile : IPersistFile;
 8   PIDL : PItemIDList;
 9   StartupDirectory : array[0..MAX_PATH] of Char;
10   LinkFilename : WideString;
11   linkshortname:string;
12 begin
13   tmpObject := CreateComObject(CLSID_ShellLink);//创建建立快捷方式的外壳扩展
14   tmpSLink := tmpObject as IShellLink;//取得接口
15   tmpPFile := tmpObject as IPersistFile;//用来储存*.lnk文件的接口
16   tmpSLink.SetPath(pChar(ExtractFilePath(application.exename)+ExtractFileName(Application.ExeName)));//设定nFolder所在路径
17   tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(application.exename)));//设定工作目录
18   SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);
19   //获得桌面的Itemidlist
20   SHGetPathFromIDList(PIDL,StartupDirectory);//获得桌面路径
21   linkshortname:=Copy(ExtractFileName(Application.ExeName),0,
22   Length(ExtractFileName(Application.ExeName))-4);
23   LinkFilename := string(StartupDirectory)+'\'+linkshortname+'.lnk';
24   tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件
25 //showmessage('已经成功添加快捷方式'''+linkshortname+'.lnk''!');
26 end;

 

posted on 2012-06-25 11:19  星辰日月00  阅读(276)  评论(0编辑  收藏  举报