在delphi中建立程序的快捷方式--并将快捷方式放在开始->程序->的启动组中

原创 2004年08月24日 14:18:00

前几天应客户要求写这个东西,其实用VB,VC可能更快些,不过,我还是喜欢用DELPHI

首先 uses ActiveX,ComObj,StdCtrls,ShlObj,FileCtrl;

在指定文件夹建立当前应用程序才的快捷方式

procedure Tform1.MakeLink(Foldername:string;proName, lnkName, Description: string);
var
  WorkDir, DestName: string;
  aObj: IUnknown;
  MyLink: IShellLink;
  MyPFile: IPersistFile;
  WFileName: WideString;
  curdir: array[0..100] of Char;
begin
  DestName := Foldername + lnkName;
  aObj := CreateComObject(CLSID_ShellLink);
  MyLink := aObj as IShellLink;
  MyPFile := aObj as IPersistFile;
  GetCurrentDirectory(sizeof(curdir), curdir);
  workdir := curdir;
  proname := trim(WorkDir)+'/'+proname;
  with MyLink do
  begin

    SetShowCmd(SW_NORMAL);
    SetArguments('');
    SetDescription(pChar(Description));
    SetPath(pChar(proName));
    SetWorkingDirectory(pChar(WorkDir));
  end;
  CreateDir(ExtractFilePath(DestName));
  WFileName := DestName;
  MyPFile.Save(PWChar(WFileName), False);
end;

//获得开始->程序->的启动组 的路径

function Tform1.GetSpecialFolder: string;//get starup Floder
var
  Pidl: PItemIDList;
  handle : THandle;
  Comp: TComponent;
  LinkDir : string;
begin
  result:='';
  Comp := self;//self.owner;
  handle := (Comp as TForm).handle;
  if SUCCEEDED(SHGetSpecialFolderLocation(handle, CSIDL_COMMON_STARTUP, Pidl))  then //别的特殊路径也可以用CSIDL_COMMON或的,在delphi中查一下就可以了

 begin
       SetLength(LinkDir, MAX_PATH);
       SHGetPathFromIDList(Pidl, PChar(LinkDir));
       SetLength(LinkDir, StrLen(PChar(LinkDir)));
       result:=linkdir+'/';

  end;
end;
//
部分内容借鉴了大富翁bbs上的内容

JSP白皮书

JavaServer PagesTM (JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与...
  • weqa
  • weqa
  • 2000-09-02 22:48:00
  • 2923

delphi桌面创建快捷方式

  • 2007年11月06日 11:06
  • 173KB
  • 下载

用delphi创建桌面快捷方式

有许多程序在首次安装或运行的时候都会自动地子桌面上创建个快捷方式图标。但是这个自动创建桌面快捷方式的在程序中是如何实现的呢?众所周知 在windows中要给应用程序创建一个快捷方式 只需要你右键单击 ...
  • yangvszi
  • yangvszi
  • 2008-12-03 16:27:00
  • 1034

在delphi中建立程序的快捷方式--并将快捷方式放在开始->程序->的启动组中

前几天应客户要求写这个东西,其实用VB,VC可能更快些,不过,我还是喜欢用DELPHI首先 uses ActiveX,ComObj,StdCtrls,ShlObj,FileCtrl;在指定文件夹建立当...
  • myzerg
  • myzerg
  • 2004-08-24 14:18:00
  • 1119

如何用Delphi创建快捷方式

由于我们是通过OLE Interface实现此功能的,因此在程序单元的uses语句中要加入ComObj、ActiveX和ShlObj这三个单元。  在单元的声明部分加入以下代码: ...
  • luoyanqing119
  • luoyanqing119
  • 2008-04-11 09:48:00
  • 849

给当前应用程序创建在“启动”目录下的快捷方式

//=========================================================================////    功  能:给当前应用程序创建快捷方...
  • abcpanpeng
  • abcpanpeng
  • 2007-01-13 09:46:00
  • 1365

在installshield中添加快捷方式到指定的文件夹

主要思路:有时根据业务需要,需要在指定的文件夹中创建快捷方式。通过INSTALLSHIELD的AddFolderIcon函数来实现在任意指定的文件夹中添加快捷方式。 AddFolderIcon (sz...
  • leon_founder
  • leon_founder
  • 2006-08-21 13:54:00
  • 3124

Delphi:从快捷方式取得文件路径

(* -------------------------------------------- Get *real* file path from a shortcut (*.lnk) -...
  • fengyu09
  • fengyu09
  • 2013-03-12 17:30:42
  • 1674

delphi 中如何创建快捷方式

procedure TForm1.CreateUlr;var  ShLink: IShellLink;  PFile: IPersistFile;  FileName: string;  WFileN...
  • songfuqiang
  • songfuqiang
  • 2007-07-11 11:31:00
  • 652

在Delphi中操作快捷方式

   在Delphi中操作快捷方式  快捷方式减少了系统的重复文件,是快速启动程序或打开文件或文件夹的方法,快捷方式对经常使用的程序、文件和文件夹非常有用。在Windows系统中,充斥着大量的快捷方式...
  • Kingron
  • Kingron
  • 2000-12-19 21:38:00
  • 1202
收藏助手
不良信息举报
您举报文章:在delphi中建立程序的快捷方式--并将快捷方式放在开始->程序->的启动组中
举报原因:
原因补充:

(最多只允许输入30个字)