网页功能: 加入收藏 设为首页 网站搜索  
创建桌面链接
发表日期:2003-04-07作者:[] 出处:  

size        : 1409

uploaded_on     : Wed Oct 7 00:00:00 1998

modified_on     : Wed Dec 8 14:03:13 1999

title        : Desktop link

org_filename    : DesktopLink.txt

author       : Mario Mueller

authoremail     : mario.mueller@online.de

description     : How to create a link on the desktop

keywords      :

tested       : not tested yet

submitted_by    : The CKB Crew

submitted_by_email : ckb@netalive.org

uploaded_by     : nobody

modified_by     : nobody

owner        : nobody

lang        : plain

file-type      : text/plain

category      : delphi-system32bit

__END_OF_HEADER__

> How can I create a link on the desktop to my program (application.exename)?

uses

 ShlObj, ActiveX, ComObj;

procedure TForm1.Button1Click(Sender: TObject);

var

 aObject  : IUnknown;

 aSLink   : IShellLink;

 aPFile   : IPersistFile;

 sDirectory : string;

 wsFileName : WideString;

 szWinDir  : array[0..29] of char;

begin

 FillChar(szWinDir, SizeOf(szWinDir), #0);

 GetWindowsDirectory(szWinDir, SizeOf(szWinDir));

 aObject := CreateComObject(CLSID_ShellLink);

 aSLInk := aObject as IShellLink;

 aPFile := aObject as IPersistFile;

 with aSLink do

 begin

  SetPath(PChar(editProgramm.Text));

  SetArguments(PCHar(editParameter.Text));

  SetWorkingDirectory(szWinDir);

 end;

 sDirectory := GetShellFolderPath(CSIDL_DESKTOPDIRECTORY);

//sDirectory := GetShellFolderPath(CSIDL_STARTMENU);

 Assert(sDirectory[Length(sDirectory)] <> '\', 'Backslash!');

 wsFileName := sDirectory + '\' + editLink.Text;

 aPFile.Save(PWChar(wsFileName), false);

end;

function TForm1.GetShellFolderPath(const aFolder : integer) : string;

var

 pIIL : PItemIDList;

 szPath : array[0..MAX_PATH] of char;

 aMalloc : IMalloc;

begin

 Result := '';

 Assert(aFolder <= CSIDL_PRINTHOOD, 'Falsche ShellFolder-Konstante');

 OleCheck(SHGetSpecialFolderLocation(0, aFolder, pIIL));

 SHGetPathFromIDList(pIIL, szPath);

 OleCheck(SHGetMalloc(aMalloc));

 aMalloc.Free(pIIL);

 Result := szPath;

end;

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 创建桌面链接
本类热点文章
  DBGrid 应用全书
  DBGrid 应用全书
  TWebBrowser编程简述
  用户界面设计的技巧与技术
  用户界面设计的技巧与技术
  初探Delphi 7 中的插件编程
  获取主板BIOS的信息
  网卡的远程网络唤醒
  Delphi 2006简介(Dexter)
  用Delphi开发数据库程序经验三则
  Delphi面向对象编程的20条规则
  Delphi面向对象编程的20条规则
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00504