'-----------------------------------------------------
' 创建和删除快捷方式 '----------------------------------------------------- ' 洪恩在线 求知无限 '----------------------------------------------------- '------名称-------------------作用-------------------- ' CmdAdd1 "创建test程序组快捷方式"按钮 ' CmdAdd2 "创建桌面快捷方式"按钮 ' CmdAdd3 "创建开始菜单快捷方式"按钮 ' CmdAdd4 "创建Test程序组下的快捷方式"按钮 ' CmdDel "删除所有快捷方式"按钮 '----------------------------------------------------- '要在VB中创建Windows的快捷方式,需要用到VB的一个动态链接库 'Vb5stkit.dll。在该动态链接库中提供了三个函数 'OSfCreateShellGroup、OSfCreateShellLink、OSfRemoveShellLink '分别用于创建快捷方式程序组、创建快捷方式和删除快捷方式。 '----------------------------------------------------- Private Declare Function OSfCreateShellGroup Lib "Vb5stkit.dll" _ Alias "fCreateShellFolder" (ByVal lpstrDirName As String) As Long 'lpstrDirName指定了程序组的名称 '----------------------------------------------------- Private Declare Function OSfCreateShellLink Lib "Vb5stkit.dll" _ Alias "fCreateShellLink" (ByVal lpstrFolderName As String, _ ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String) As Long 'lpstrfoldername指定保存快捷方式的文件夹,默认为“c:\Windows\start menu\programs” 'lpstrlinkname指定快捷方式的文件名 'lpstrpathname指定快捷方式所指向的应用程序或文件 '----------------------------------------------------- Private Declare Function OSfRemoveShellLink Lib "Vb5stkit.dll" _ Alias "fRemoveShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String) As Long Dim lresult As Long Private Sub CmdAdd1_Click() Dim lresult As Long '在程序菜单中添加一个名为Test的程序组 lresult = OSfCreateShellGroup("Test") End Sub Private Sub CmdDel_Click() Dim lresult As Long '删除开始菜单上的快捷方式 lresult = OSfRemoveShellLink("..\..\start menu", "记事本") '删除桌面上的快捷方式 lresult = OSfRemoveShellLink("..\..\desktop", "记事本") '删除Test程序组下的快捷方式 lresult = OSfRemoveShellLink("Test", "记事本") End Sub Private Sub CmdAdd2_Click() Dim lresult As Long '在桌面创建记事本的快捷方式 lresult = OSfCreateShellLink("..\..\desktop", "记事本", "c:\Windows\notepad.exe", "") End Sub Private Sub CmdAdd4_Click() '在程序菜单的Test程序组下创建记事本的快捷方式 lresult = OSfCreateShellLink("test", "记事本", "c:\Windows\notepad.exe", "") End Sub Private Sub CmdAdd3_Click() '在开始菜单创建记事本的快捷方式 lresult = OSfCreateShellLink("..\..\start menu", "记事本", "c:\Windows\notepad.exe", "") End Sub (源程序下载) 我们先来声明以上几个API函数,如下所示: 其中OSfCreateShellGroup函数的作用是在程序菜单中添加一个名为lpstrDirName的程序组,其参数的意义如下:
其中OSfCreateShellLink函数的作用在指定的文件夹内创建快捷方式,其参数的意义如下:
其中OSfRemoveShellLink函数的作用是删除一个已经建立的快捷方式,其参数的意义如下:
声明完后就可以在程序中使用这几个函数了,我们先来创建一个桌面上的快捷方式吧,只须一句代码即可: lresult = OSfCreateShellLink("..\..\desktop", "记事本", "c:\Windows\notepad.exe", "") 其中"..\..\desktop"是指桌面所在的目录,"记事本"是快捷方式的名称,而快捷方式所指向的目标文件是"c:\windows\notepad.exe"。 下面看看怎么添加快捷方式到开始和程序菜单中: 2、添加快捷方式到程序菜单(开始菜单中的“程序”子菜单)中 '在程序菜单中添加一个名为Test的程序组 现在运行程序就能看到添加到各个位置的快捷方式了,删除这些快捷方式的方法也很简单,比如我们要删除刚才添加在桌面上的快捷方式,则可以用下面代码来实现。 lresult = OSfRemoveShellLink("..\..\desktop", "记事本") 同样的要删除开始和程序菜单中的快捷方式,只须使用如下语句即可: '删除开始菜单上的快捷方式 '删除Test程序组下的快捷方式 |
|