VB如何引用VB6STKIT.DLL (创建快捷方式)
    在VB编程环境中,引用C:\WINDOWS\system32\VB6STKIT.DLL
    时,出现不能引用的对话框

解决方案 »

  1.   

    Private Declare Function fCreateShellLink Lib "vb6stkit.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String, ByVal fPrivate As Long, ByVal sParent As String) As Long
    Private Sub Command1_Click()
       '懒得判断系统是XP或2000的话两个都加,呵呵...我一向如此
       'XP使用
       Call fCreateShellLink("..\..\Desktop", "CBM666的桌面快捷键", "C:\calc.exe", "", True, "$(Programs)")
       '2000 使用
       Call fCreateShellLink("..\..\桌面", "CBM666的桌面快捷键", "C:\calc.exe", "", True, "$(Programs)")
    End Sub
      

  2.   

    cbm666 :我想在"C:\Documents and Settings\All Users\「开始」菜单"下建立"记事本",   下面这段代码执行
    不了,向你请教!Call fCreateShellLink("C:\Documents and Settings\All Users\「开始」菜单", "记事本", "c:\Windows\notepad.exe", "", True, "$(Programs)")
    谢谢你的解答!!!!!!1111111
      

  3.   

    你的问题可能出在你没加API的宣告,或你的system32下没有vb6stkit.dll(先下载拷进 system32),或你没注册这个dll'添加 Command1Private Declare Function fCreateShellLink Lib "vb6stkit.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String, ByVal fPrivate As Long, ByVal sParent As String) As Long
    Dim winsys$, aa$, jj&Private Sub Form_Load()
       Call GETSYS
       Call Shell("Regsvr32 /s " & winsys & "vb6stkit.dll", vbHide)
    End SubPrivate Sub Command1_Click()
       '懒得判断系统是XP或2000的话两个都加,呵呵...我一向如此
       'XP使用
       Call fCreateShellLink("..\..\Desktop", "CBM666的桌面快捷键", "C:\calc.exe", "", True, "$(Programs)")
       '2000 使用
       Call fCreateShellLink("..\..\桌面", "CBM666的桌面快捷键", "C:\calc.exe", "", True, "$(Programs)")
    End SubPrivate Sub GETSYS()
       '获取system32路径
       aa = Trim(Environ("ComSpec"))
       jj = InStrRev(aa, "\")
       winsys = Mid(aa, 1, jj)
    End Sub
      

  4.   

    非常感谢你对我的问题的答复(关于VB如何引用VB6STKIT.DLL (创建快捷方式)的问题
     我还想请教你
    如何VB如何引用VB6STKIT.DLL 删除  所 创建的 快捷方式呢?????
    万分感谢!!!!!!!!!!!!!!!!!!!!!!1
      

  5.   

    vb5stkit.dll与vb6stkit.dll这两个API很怪, 这个路径获取应该是没问题的, 但就是怪, 建不进去.以前我也试过迫于无奈改用这种方式便可在All Users\「开始」菜单下建立快捷键.'引用 Windows Script Host Object Model'添加 Command1Private Sub Command1_Click()
       Dim iw1 As New IWshRuntimeLibrary.IWshShell_Class
       Dim iwSC As New IWshShortcut_Class
       Set iwSC = iw1.CreateShortcut(Environ("ALLUSERSPROFILE") & "\「开始」菜单" & "\" & "记事本.lnk")
       iwSC.TargetPath = Environ("windir") & "\notepad.exe"
       'iwSC.IconLocation = "f:\044a.ico" '设定快捷方式的图标,自己找一个喜欢的图标
       iwSC.Save '保存快捷方式
    End Sub
      

  6.   

    Private Declare Function fRemoveShellLink Lib "vb6stkit.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String) As LongPrivate Sub Command2_Click()
       Call fRemoveShellLink("..\..\桌面", "CBM666的桌面快捷键")  '移除3F设置的快捷键
    End Sub