当前位置:首页 > 网络编程 > 软件语言 > DELPHI > 让Delphi程序更方便地启动

让Delphi程序更方便地启动

点击次数:58 次 发布日期:2008-11-09 08:41:59 作者:源代码网
源代码网推荐
广告载入中
  一般情况下,程序在安装时,要进行建立自己的程序组和程序项、在桌面上建立快捷方式、
源代码网推荐 让程序随WIN9X/NT自动启动、把程序快捷方式放入快速启动工具栏等工作,其目的就
源代码网推荐 是让用户更容易、更方便运行自己的程序,从而且增加程序的友好性。下面我们就讨论一下在
源代码网推荐 DELPHI程序如果实现这四项操作。
源代码网推荐
源代码网推荐 一、建立自己的程序组和程序项
源代码网推荐   1、实现原理
源代码网推荐     建立自己的程序组,就是在WINDOWS目录下的子目录Start MenuPrograms下,
源代码网推荐 建立一个子目录;建立程序项,就是在该子目录下建立程序的快捷方式。
源代码网推荐   2、建立程序的快捷方式
源代码网推荐     由于建立自己的程序组和程序项、在桌面上建立快捷方式、把程序快捷方式放入快速
源代码网推荐 启动工具栏三个操作中要用到建立程序快捷方式的操作,首先来讨论一下 如何在DELPHI
源代码网推荐 程序中建立程序快捷方式。
源代码网推荐     在手工建立程序的快捷方式时,通常要指定程序的文件名称和运行参数;在程序中建
源代码网推荐 立程序的快捷方式时还要指定程序的工作目录。我们可以用ShlObj单元中COM对象IShellLink
源代码网推荐 来指定程序的文件名称、运行参数和程序的工作目录三个参数,然后用COM对象IPersistFile
源代码网推荐 来保存快捷方式文件。具体的实现步骤请参见下面程序函数和注释。
源代码网推荐     我们要用到的操作是在指定目录下建立指定程序的快捷方式,因而要指定快捷文件要
源代码网推荐 保存的目录。
源代码网推荐
源代码网推荐 { 建立程序的快捷方式,程序文件名称为strExeFileName,运行参数为strParameters,
源代码网推荐 快捷方式所在目录为strPath,返回值为True表示成功建立快捷方式,请在单元包含中增加
源代码网推荐 ComObj, ShlObj, ActiveX三个单元 }
源代码网推荐 function CreateShortcut( strExeFileName, strParameters, strPath : string ) : boolean;
源代码网推荐 var
源代码网推荐 strLnkFileName : widestring;//程序的快捷方式文件名称
源代码网推荐 shelllinkTemp : IShellLink;
源代码网推荐 persistfileTemp : IPersistFile;
源代码网推荐 begin
源代码网推荐 //设置快捷方式的参数
源代码网推荐 shelllinkTemp := IShellLink( CreateComObject(CLSID_ShellLink));
源代码网推荐 with shelllinkTemp do
源代码网推荐 begin
源代码网推荐 SetPath( PChar( strExeFileName ) ); //设置程序文件全名
源代码网推荐 SetArguments( PChar( strParameters) );//设置程序的命令行参数
源代码网推荐 //设置程序的工作目录
源代码网推荐 SetWorkingDirectory( PChar( ExtractFilePath( strExeFileName ) ) );
源代码网推荐 end;
源代码网推荐
源代码网推荐 //构造快捷方式的文件名(.LNK),路径采用指定目录,文件名为程序文件名,扩展名为LNK
源代码网推荐 //路径采用指定目录,文件名为程序文件名
源代码网推荐 strLnkFileName := strPath "" ExtractFileName( strExeFileName );
源代码网推荐 //替代文件扩展名
源代码网推荐 strLnkFileName := copy( strLnkFileName,1, length( strLnkFileName ) -
源代码网推荐 length( ExtractFileExt( strExeFileName ) ) )
源代码网推荐 ".LNK";
源代码网推荐 //保存快捷方式的文件
源代码网推荐 persistfileTemp := shelllinkTemp as IPersistFile;
源代码网推荐 if S_OK = persistfileTemp.Save( PWChar( strLnkFileName ) , false ) then
源代码网推荐 result := true //保存成功,返回True
源代码网推荐 else result := false;//保存失败,返回False
源代码网推荐 end;
源代码网推荐
源代码网推荐   3、建立自己的程序组和程序项
源代码网推荐 { 创建程序组和程序项 }
源代码网推荐 procedure TForm1.Button2Click(Sender: TObject);
源代码网推荐 begin
源代码网推荐 //创建程序组MyGroup,即在C:PWIN98Start MenuPrograms下建立子目录MyGroup
源代码网推荐 if not DirectoryExists( "C:PWIN98Start MenuProgramsMyGroup" ) then
源代码网推荐 ForceDirectories( "C:PWIN98Start MenuProgramsMyGroup" );

源代码网推荐 //创建程序项,在该子目录下建立程序的快捷方式
源代码网推荐 if CreateShortcut( "C:Program FilesBorlandDbdDbd32.exe","%1",
源代码网推荐 "C:PWIN98Start MenuProgramsMyGroup" ) then
源代码网推荐 memo1.lines.add( "创建程序组和程序项成功" )//创建程序组和程序项成功
源代码网推荐 else//创建程序组和程序项失败
源代码网推荐 memo1.lines.add( "创建程序组和程序项失败" );
源代码网推荐 end;
源代码网推荐
源代码网推荐 二、在桌面上建立程序的快捷方式
源代码网推荐   1、实现原理
源代码网推荐     在桌面上建立程序的快捷方式,就是在WINDOWS目录下的子目录Desktop下
源代码网推荐 建立程序的快捷方式。
源代码网推荐   2、在桌面上建立程序的快捷方式
源代码网推荐 { 在桌面上建立程序的快捷方式 }
源代码网推荐 procedure TForm1.Button1Click(Sender: TObject);
源代码网推荐 begin
源代码网推荐 //在目录C:PWIN98Desktop下建立程序的快捷方式
源代码网推荐 if CreateShortcut( "C:Program FilesBorlandDbdDbd32.exe","%1",
源代码网推荐 "C:PWIN98Desktop" ) then//创建桌面快捷方式成功
源代码网推荐 memo1.lines.add( "创建桌面快捷方式成功" )
源代码网推荐 else//创建桌面快捷方式失败
源代码网推荐 memo1.lines.add( "创建桌面快捷方式失败" );
源代码网推荐 end;
源代码网推荐
源代码网推荐 三、让程序随WIN9X/NT自动启动
源代码网推荐   让程序随WIN9X/NT自动启动,可以把程序的快捷方式放到“启动”程序组中,
源代码网推荐 不过这并不是一个好办法。较好的办法是修改系统注册表,在其中加入程序文件的名称及
源代码网推荐 运行参数。
源代码网推荐   1、实现原理
源代码网推荐     让程序随WIN9X/NT自动启动,可以在注册表的HKEY_LOCAL_MACHINESoftware
源代码网推荐 MicrosoftWindowsCurrentVersionRun中加入程序文件的名称及运行参数,使程序作为一般
源代码网推荐 程序随WIN9X/NT自动启动;或在HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce中加入程序文件的名称及运行参数,使程序作为服务程序随WIN9X
源代码网推荐 /NT自动启动,这样按Ctrl Alt Del时,任务列表中将不会列出该程序的有关信息。
源代码网推荐   2、让程序随WIN9X/NT自动启动
源代码网推荐 { 让自己的程序随WIN95/98/NT的启动而运行,请在单元包含中增加Registry单元 }
源代码网推荐 procedure TForm1.Button3Click(Sender: TObject);
源代码网推荐 var
源代码网推荐 registerTemp : TRegistry;
源代码网推荐 success : boolean;
源代码网推荐 begin
源代码网推荐 registerTemp := TRegistry.Create; //建立一个Registry实例


源代码网推荐 with registerTemp do
源代码网推荐 begin
源代码网推荐 RootKey:=HKEY_LOCAL_MACHINE;//设置根键值为HKEY_LOCAL_MACHINE
源代码网推荐 //找到SoftwareMicrosoftWindowsCurrentVersionRun
源代码网推荐 if OpenKey("SoftwareMicrosoftWindowsCurrentVersionRun",True) then
源代码网推荐 //写入自己程序的快捷方式信息
源代码网推荐 begin
源代码网推荐 WriteString( "DBD", "C:Program FilesBorlandDbdDbd32.exe" );
源代码网推荐 success := true;//设置程序自动启动成功
源代码网推荐 end
源代码网推荐 else success := false;//设置程序自动启动失败
源代码网推荐 //善后处理
源代码网推荐 CloseKey;
源代码网推荐 Free;
源代码网推荐 end;
源代码网推荐 if success then memo1.lines.add( "设置程序自动启动成功" )
源代码网推荐 else memo1.lines.add( "设置程序自动启动失败" );
源代码网推荐 end;
源代码网推荐
源代码网推荐 四、把程序快捷方式放入快速启动工具栏
源代码网推荐   Windows95/98的任务栏是桌面上的一个特殊区域,用于显示“开始”菜单、时钟等以及
源代码网推荐 目前执行的任务。Windows98的任务栏增加了快速启动工具栏,将程序的快捷方式放在任务栏
源代码网推荐 的“快速启动”区,可以更方便地启动程序,以免在开始菜单中一级级地查找或关闭窗口在
源代码网推荐 桌面上启动程序。

源代码网推荐   Windows98 安装后缺省的快速启动工具栏包含“显示桌面”、“IE 浏览器”等。如果快
源代码网推荐 速启动工具栏已关闭,可用鼠标右键单击任务栏的空白区域,单击“工具栏”,确认已选中
源代码网推荐 “快速启动”即可打开。
源代码网推荐   1、实现原理
源代码网推荐     把程序快捷方式放入快速启动工具栏,就是在WINDOWS目录下的子目录
源代码网推荐 Application DataMicrosoftInternet ExplorerQuick Launch下建立程序的快捷方式。
源代码网推荐   2、把程序快捷方式放入快速启动工具栏
源代码网推荐 { 将程序快捷方式加入快速启动工具栏 }
源代码网推荐 procedure TForm1.Button4Click(Sender: TObject);
源代码网推荐 begin
源代码网推荐 //将程序快捷方式加入快速启动工具栏
源代码网推荐 if CreateShortcut( "C:Program FilesBorlandDbdDbd32.exe","%1",
源代码网推荐 "C:PWIN98Application DataMicrosoftInternet ExplorerQuick Launch" )
源代码网推荐 then//成功
源代码网推荐 memo1.lines.add( "将程序快捷方式加入快速启动工具栏成功" )
源代码网推荐 else//失败
源代码网推荐 memo1.lines.add( "将程序快捷方式加入快速启动工具栏失败" );
源代码网推荐 end;
源代码网推荐
源代码网推荐   以上程序在PWIN98 DELPHI3.0下调试通过。
源代码网推荐 (作者:深圳王发军 wangfajun@163.net http://wangfajun.163.net)


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华