VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 13784|回复: 25

用api建立快捷方式<VB6.0>桌面、启动项、开始菜单

[复制链接]
 楼主| 发表于 2007-9-17 22:51:33 | 显示全部楼层 |阅读模式

  1. '创建快捷方式
  2. Public Declare Function fCreateShellLink Lib "vb6stkit.DLL" ( _
  3. ByVal lpstrFolderName As String, _
  4. ByVal lpstrLinkName As String, _
  5. ByVal lpstrLinkPath As String, _
  6. ByVal lpstrLinkArgs As String, _
  7. ByVal fPrivate As Long, _
  8. ByVal sParent As String) As Long
  9. '
  10. 'lpstrFolderName  文件夹的名称 “$(proprams)” 程序组 "$(Strar Menu)" 开始菜单
  11. 'lpstrLinkName 快捷键的名称
  12. '
  13. 'lpstrLinkPath 快捷键的路径
  14. '
  15. 'lpstrLinkArgs       这里是命令行参数
  16. '
  17. 'fPrivate True
  18. '
  19. 'sParent 上一层文件夹
  20. '快捷方式中的常数
  21. Public Enum ShortCutPosition
  22.        vbDesktop = 1      '桌面
  23.        vbStart = 2        '启动项
  24.        vbStartMenu = 3    '开始菜单程序项
  25.        vbGroup = 4        '开始菜单顶端
  26. End Enum
  27. '创建快捷方式
  28.       
  29. Public Sub ShortCut(Position As ShortCutPosition, LinkName As String, Path As String)
  30.      Dim ret As Long
  31.      Select Case Position
  32.            Case 1
  33.                 ret = fCreateShellLink("..\\..\\桌面", LinkName, Path, "", True, "$(Programs)")
  34.                 If ret = 0 Then
  35.                    ret = fCreateShellLink("..\\..\\Desktop", LinkName, Path, "", True, "$(Programs)")
  36.                 End If
  37.            Case 2
  38.                 ret = fCreateShellLink("启动", LinkName, Path, "", True, "$(Programs)")
  39.            Case 3
  40.                 '在开始菜单程序项建立快捷方式
  41.                 ret = fCreateShellLink(".", LinkName, Path, "", True, "$(Programs)")
  42.            Case 4
  43.                 '在开始菜单顶端建立快捷方式
  44.                 ret = fCreateShellLink("..", LinkName, Path, "", True, "$(Programs)")
  45.     End Select
  46. End Sub
  47. Private Sub Command1_Click()
  48.     Dim x As String
  49.     x = InputBox("1.桌面快捷方式" & vbCrLf & vbCrLf & "2.启动快捷方式" & vbCrLf & vbCrLf & "3.开始菜单程序项快捷方式" & vbCrLf & vbCrLf & "4.开始菜单顶端快捷方式", "提示")
  50.     Select Case x
  51.            Case 1
  52.                 ShortCut vbDesktop, "功能全集", CheckFilePath(App.Path) & "功能全集.exe"
  53.            Case 2
  54.                 ShortCut vbStart, "功能全集", CheckFilePath(App.Path) & "功能全集.exe"
  55.            Case 3
  56.                 ShortCut vbStartMenu, "功能全集", CheckFilePath(App.Path) & "功能全集.exe"
  57.            Case 4
  58.                 ShortCut vbGroup, "功能全集", CheckFilePath(App.Path) & "功能全集.exe"
  59.     End Select
  60. End Sub

复制代码

[ 本帖最后由 icecept 于 2009-1-22 16:45 编辑 ]

评分

参与人数 1威望 +5 收起 理由
DreamonII + 5 精品文章

查看全部评分

发表于 2007-9-17 23:50:05 | 显示全部楼层
so good
回复 支持 反对

使用道具 举报

发表于 2007-9-24 10:37:06 | 显示全部楼层
非常棒!顶一下
回复 支持 反对

使用道具 举报

发表于 2007-9-24 20:09:24 | 显示全部楼层
vb6stkit.DLL需要加入资源不?
回复 支持 反对

使用道具 举报

发表于 2007-9-24 20:19:50 | 显示全部楼层
收藏学习,加分支持!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-24 20:21:44 | 显示全部楼层

回复#4

vb6stkit.DLL是vb6.0自带的一个dll,如果用它编写的建立快捷方式的程序,必须带上它方可运行
你可以把它加入资源文件。当运行时,判断windows\system32中有没有此控件,如果有便不作任何操作,如果没有便把它释放到windows\system32目录中,然后用 regsvr32 vb6stkit.DLL注册,这样就不怕其它系统中没有vb6stkit.DLL了

[ 本帖最后由 icecept 于 2009-1-22 16:46 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-24 20:23:01 | 显示全部楼层
谢谢DreamonII ,好久不见了。
回复 支持 反对

使用道具 举报

发表于 2007-9-24 20:27:34 | 显示全部楼层
嗯,最近经常不在家,呵呵
回复 支持 反对

使用道具 举报

发表于 2007-9-24 21:18:11 | 显示全部楼层
有没有不用其他dll建立快捷方式的办法

lz这办法 win98年代已经有了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-26 20:56:08 | 显示全部楼层
有,用windows script host来创建快捷方式,效果更佳。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2019-12-8 21:04

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表