每一个编程爱好者,都希望自己的作品能为大家接受和喜爱,但我们的作品大多是简单的一个exe文件的拷贝,既不需安装也没有删除程序,让人觉得只是程序而不是产品,以下我以delphi 为例和大家交流一下程序组快捷方式建立、添加删除程序组中的删除项和程序的自删除等功能。
1.以下先来介绍建立程序组快捷方式的方法:
在uses 单元中加入 shlobj,activex,comobj,在窗口中添加一个button,并在其事件中添加以下代码:
| procedure tform1.button1click(sender: tobject); var sl:ishelllink; pf:ipersistfile; lnkname:widestring; app:string; begin olecheck(cocreateinstance(clsid_shelllink,nil,clsctx_inproc_server,ishelllink,sl)); pf:=sl as ipersistfile; app:=application.exename; olecheck(sl.setpath(pchar(app)));//建立有效的链接 lnkname:='c:\windows\start menu\programs\redbird.lnk'; //设置目标文件 pf.save(pwidechar(lnkname),true); //保存文件 end; |
当然以上这段代码应放在程序第一次运行时的代码段中,而且程序组或是桌面的位置最好要以注册表 hkey_current_user\software\microsoft\windows\currentversion\explorer\shell folders中的对应值为准。您对注册表的操作可通过delphi对注册表封装了的tregistry 来完成,此法比较简单,在此就不再赘述,如您想写出更小的程序或是您在用vb编程,那就得调用api.以下作者将以对注册表api函数的直接调用向大家介绍如何建立添加删除程序中的项目.同样,这段代码也应放在程序首次运行时执行。
program project1; {$r *.res} |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器