分发VFP应用时自动建立快捷方式
来源: 作者: 出处:综艺读书 2006-10-20
■ 安徽财贸学院计算机系(233041) 车光宏
|
|
|||
解决思路
下面是笔者的解决办法。大体可分两步进行:
1.使用VFP编制一个用来建立快捷方式的程序(设程序名为CreateShortCut.exe);
2.在安装向导“步骤4-安装选项”的“执行程序”标签下的文本框中填入前面建立的程序文件名及其路径(通过浏览“…”按钮查找)。
这里的关键是第一步,如果有了第一步建立的程序CreateShortCut.exe,后一步是十分简单的。接下来具体说明用VFP编制建立快捷方式程序的方法。
具体实现
建立快捷方式的程序中需要使用DLL函数fCreateShellLink,该函数在STKIT432.DLL中(STKIT432.DLL可在Visual Basic 4.0 for Windows的Setup Kit中找到)。在VFP中声明fCreateShellLink函数的命令是:
declare long fCreateShellLink in “STKIT432.DLL” String p1, String p2, String p3, String p4
其中:
● p1: 用来指出快捷方式要加入的文件夹及其相对于Windows\Programs文件夹的路径;
● p2: 用来指出快捷方式的名称;
● p3: 用来指出程序文件名(含扩展名)及其路径;
● p4: 用来指出执行程序的命令行参数,一般为空串。
例如,要想把程序“C:\Windows\command
.com”的快捷方式以“DOS窗口”为名建立在附件中,可用命令:
fCreateShellLink(“.\附件”,“DOS窗口”, “C:\Windows\command.com”, “”)
下面创建前面所述的CreateShortCut.exe程序,先检查Windows\System文件夹中是否存在STKIT432.DLL文件,如果存在(否则,找到该文件将其复制到Windows\System文件夹),执行如下操作:
1.打开VFP,新建一个名为CreateShortCut的项目。
2. 在CreateShortCut项目中新建一个名为prgCreateShortCut的程序,程序清单如下:
● 程序prgCreateShortCut.PRG
LPARAMETERS sPn,sPd
application.visible=.f.
if type(‘sPn’)=‘L’
sPn=“CreateShortCut.exe”
sPd=“建立快捷方式”
endif
if upper(sPn)= “CREATESHORTCUT.EXE”
cl=chr(13)+chr(10)+chr(13)+chr(10)
sTs=“本程序使用方法:”+cl;
+“先把本程序复制到要建立快捷方式的程序所在的文件夹,然后,”+cl ;
+“从“开始”菜单中单击“运行”,在“运行”对话框中,通过”+cl ;
+““浏览”按钮找到本程序,再在“打开”组合框中本程序名之后”+cl ;
+“输入命令行参数: <程序文件名(含扩展名)> <快捷方式标题>,”+cl ;
+“最后,按“确定”按钮执行。”
messagebox(sTs,64, “提示”)
Cancel
endif
sPn=fullpath(sPn)
do form frmCreateShortCut with sPn,sPd
read events
3. 在CreateShortCut项目中新建一个文件名为frmCreateShortCut的表单(如下图)。各复选框的名称自上而下依次为: chkProgram、chkDeskTop、chkStartMenu、chkStartUp、chkQuickLaunch。
用户操作界面
表单中有关对象事件的代码如下:
(1)表单frmCreateShortCut的Init事件代码:
LPARAMETERS sPn,sPd
this.AddProperty(“Pn”)
this.AddProperty(“Pd”)
this.Pn=sPn
this.Pd=sPd
this.Caption=“建立”+sPd+“快捷方式”
this.chkDeskTop.value=1
(2)表单frmCreateShortCut的Unload事件代码:
clear events
(3)“确定”按钮的Click事件代码:
declare long fCreateShellLink in “STKIT432
.DLL” String sFolderName;
String sLinkName, String sLinkPath, String sLinkArgs
● 注意: 函数名fCreateShellLink中字母的大小写。
sLinkName=Thisform.pd
sLinkPath=thisform.pn
(4) 将快捷方式加到程序组中
if thisform.chkProgram.value=1
sFolderName=“.”
sLinkArgs=“”
rs=fCreateShellLink(sFolderName, sLinkName, sLinkPath, sLinkArgs)
if rs=0
messagebox(“将快捷方式加到程序组中时出错!”,48,“提示”)
endif
endif
(5) 将快捷方式加到桌面上
if thisform.chkDeskTop.value=1
sFolderName=“..\..\desktop”
sLinkArgs=“”
rs=fCreateShellLink(sFolderName,sLinkName, sLinkPath, sLinkArgs)
if rs=0
messagebox(“将快捷方式加到桌面上时出错!”,48,“提示”)
endif
endif
(6)将快捷方式加到启动组中
if thisform.chkStartUp.value=1
sFolderName=“.\启动”
rs=fCreateShellLink(sFolderName, sLinkName, sLinkPath, sLinkArgs)
if rs=0
messagebox(“将快捷方式加到启动组时出错!”,48,“提示”)
endif
endif
(7)将快捷方式加到开始菜单中
if thisform.chkStartMenu.value=1
sFolderName=“..\”
rs=fCreateShellLink(sFolderName, sLinkName, sLinkPath, sLinkArgs)
if rs=0
messagebox(“将快捷方式加到开始菜单中时出错!”,48,“提示”)
endif
endif
(8)将快捷方式加到快速启动区中
if thisform.chkQuickLaunch.value=1
sFolderName=“..\..\Application Data\Microsoft\Internet Explorer\Quick Launch”
rs=fCreateShellLink(sFolderName, sLinkName, sLinkPath, sLinkArgs)
if rs=0
messagebox(“将快捷方式加到快速启动区中时出错!”,48,“提示”)
endif
endif
clear dlls
thisform.release
(9)“关闭”按钮的Click事件代码:
thisform.release
4. 将程序prgCreateShortCut 设置为主文件。
5.“连编”该项目,生成CreateShortCut.exe文件。
至此,建立快捷方式的程序CreateShortCut.exe 已经完成。通过它,就可以把VFP应用程序的快捷方式自动建立在用户所指定的位置。 进入讨论组讨论。
相关图文阅读
频道图文推荐
相关专题
最新技术文档
·用FoxWeb在网上快速发布你的FOXPRO数据库 11-03
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容




