随着计算机硬件性能的提高,各种应用软件的开发已经完全从MS-DOS平台过渡到Windows平台。在Windows 95/98平台中,当一个应用软件开发完成后,安装程序制作是每一个应用软件所必须的。当然,可以选择商品化的安装程序制作工具,但一般为了表现自己软件的特点往往自己设计相应的安装程序。Windows 95/98桌面快捷方式可简化了用户启动程序、访问文件操作,所以应用软件在安装的最后阶段都会在开始菜单或者桌面上建立应用程序的快捷启动方式。在安装程序或在应用程序中如何动态地添加、删除应用程序在Windows 95/98桌面和开始菜单中的快捷启动方式是非常重要的。本文将介绍如何在Visual Basic 5.0中动态添加/删除Windows的快捷启动方式的方法。
一、创建快捷文件夹
Windows 95/98快捷文件夹也就是Windows 95/98目录中Start Menu和Start Menu\ Programs目录下的应用程序子目录,这一般可通过Visual Basic的ChDir命令和MkDir命令来实现。一般来说,创建快捷文件夹首先需获取Windows 95/98系统目录,使用Windows 95/98的API函数GetWindowsDirectory来实现,创建快捷文件夹示例程序如下:
Private Declare Function GetWindowsDirectory Lib "kernel32" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Sub MakeProgramGroup()
Dim WinNo As Integer
Dim WinDirectoryString As String, ShortCutPath As String
WinDirectoryString = Space(255)
WinNo = GetWindowsDirectory(WinDirectoryString, Len(WinDirectoryString))
WinDirectoryString = Trim(WinDirectoryString)
ShortCutString = “Hong Zhiquan”
ShortCutPath = Left(WinDirectoryString, Len(WinDirectoryString) - 1) + "\Start Menu\Programs"
ChDir ShortCutPath
MkDir ShortCutString
End Sub
调用上述程序,可在“开始>程序”中创建Hong Zhiquan的快捷文件夹。若将ShortCutPath改写为ShortCutPath = Left(WinDirectoryString, Len(WinDirectoryString) - 1) + “\Start Menu”,便可在“开始”菜单中创建Hong Zhiquan快捷文件夹。用类似方法,使用VB的RmDir命令也可删除已创建的快捷文件夹。
二、创建程序快捷
在Visual Basic中创建Windows的应用程序快捷,可用VB5.0提供的动态链接库Vb5stkit. dll进行。Vb5stkit.dll动态链接库提供了fCreateShellLink、fRemoveShellLink函数,用于创建程序快捷和删除程序快捷。这两个函数的调用形式如下:
Private Declare Function fCreateShellLink Lib "Vb5stkit.dll" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String,ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String) As Long
Private Declare Function fRemoveShellLink Lib "Vb5stkit.dll" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String) As Long
其中lpstrfoldername为保存快捷的文件夹,默认为“\Windows\Start Menu\Programs”,lpstrlinkname快捷名称,lpstrpathname为快捷所对应的应用程序。
1.在桌面创建快捷
在VB下新建“工程”,然后在Form1的“通用”的“声明”中输入上面的两个函数声明,然后输入下面子程序:
Private Sub MakeDeskTopShortCut(AppProgName As String, AppProg As String)
Dim lresult As Long
lresult = fCreateShellLink("..\..\desktop", AppProgName, AppProg, "")
End Sub
调用MakeDeskTopShortCut程序即可创建Windows 95/98桌面应用程序快捷。
2.在开始菜单创建快捷
用在桌面创建快捷类似的方法,将保存快捷的文件夹"..\..\Desktop"替换为"..\..\Start Menu"便可在开始菜单创建快捷,如:lresult = fCreateShellLink("..\..\Start Menu", AppProgName, AppProg, "");若替换为"..\..\Start Menu\Programs"便可在“开始>程序”中添加快捷启动方式;若已经创建快捷文件夹,将保存快捷的文件夹替换为"..\..\Start Menu\Prog rams\"+快捷文件夹名,即可在“开始>程序>快捷文件夹名”中创建应用程序快捷启动方式。
3.删除快捷
将创建快捷函数fCreateShellLink用删除快捷函数fRemoveShellLink代替,即可实现快捷的删除功能,如下面子程序可删除Windows 95/98桌面快捷:
Private Sub RemoveDeskTopShortCut(AppProgName As String, AppProg As String)
Dim lresult As Long
lresult = fRemoveShellLink("..\..\Desktop", AppProgName, AppProg, "")
End Sub
同样,替换保存快捷的文件夹可实现删除开始菜单中的各种快捷方式。
上述程序在Windows 98中文版,Visual Basic 5.0下通过,该方法可用于Visual Basic 6.0,但必须将Vb5stkit.dll复制到Windows的SYSTEM目录下。创建和删除快捷是制作安装程序所必须的技术和方法,本文仅介绍了在Visual Basic下的实现方法,该方法也可用于Visual Foxpro、Visual C++、Delphi等开发平台。
|