Option Explicit'----------------------------------------------------- '要在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 LongDim lresult As Long Private Sub CmdAdd1_Click() Dim lresult As Long '在程序菜单中添加一个名为Test的程序组 lresult = OSfCreateShellGroup("Test") End SubPrivate Sub CmdDel_Click() Dim lresult As Long '删除开始菜单上的快捷方式 lresult = OSfRemoveShellLink("..\..\start menu", "记事本") '删除桌面上的快捷方式 lresult = OSfRemoveShellLink("..\..\desktop", "记事本") '删除Test程序组下的快捷方式 lresult = OSfRemoveShellLink("Test", "记事本")
End SubPrivate Sub CmdAdd2_Click() Dim lresult As Long '在桌面创建记事本的快捷方式 lresult = OSfCreateShellLink("..\..\desktop", "记事本", "c:\Windows\notepad.exe", "") End SubPrivate Sub CmdAdd4_Click() '在程序菜单的Test程序组下创建记事本的快捷方式 lresult = OSfCreateShellLink("test", "记事本", "c:\Windows\notepad.exe", "") End SubPrivate Sub CmdAdd3_Click() '在开始菜单创建记事本的快捷方式 lresult = OSfCreateShellLink("..\..\start menu", "记事本", "c:\Windows\notepad.exe", "") End Sub
'要在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 LongDim lresult As Long
Private Sub CmdAdd1_Click()
Dim lresult As Long
'在程序菜单中添加一个名为Test的程序组
lresult = OSfCreateShellGroup("Test")
End SubPrivate Sub CmdDel_Click()
Dim lresult As Long
'删除开始菜单上的快捷方式
lresult = OSfRemoveShellLink("..\..\start menu", "记事本")
'删除桌面上的快捷方式
lresult = OSfRemoveShellLink("..\..\desktop", "记事本")
'删除Test程序组下的快捷方式
lresult = OSfRemoveShellLink("Test", "记事本")
End SubPrivate Sub CmdAdd2_Click()
Dim lresult As Long
'在桌面创建记事本的快捷方式
lresult = OSfCreateShellLink("..\..\desktop", "记事本", "c:\Windows\notepad.exe", "")
End SubPrivate Sub CmdAdd4_Click()
'在程序菜单的Test程序组下创建记事本的快捷方式
lresult = OSfCreateShellLink("test", "记事本", "c:\Windows\notepad.exe", "")
End SubPrivate Sub CmdAdd3_Click()
'在开始菜单创建记事本的快捷方式
lresult = OSfCreateShellLink("..\..\start menu", "记事本", "c:\Windows\notepad.exe", "")
End Sub