VB如何执行 *.lnk快捷方式

2024-11-25 22:49:21
推荐回答(2个)
回答1:

先添加 Microsoft scripting runtime 这个引用,里面有个文件处理的好东西FileSystemObject
利用这个东西搜索所有文件,只要后缀是lnk的,就shell

Private Sub Command1_Click()
    Dim fs As New FileSystemObject   '文件处理的类
    Dim fol As Folder                '代表文件夹
    Dim f As File                    '代表文件
    
    Set fol = fs.GetFolder(App.Path)  '获取程序的路径,即获取文件夹
    
    Dim en As String               '这个用于文件后缀   
    
    For Each f In fol.Files    '遍历文件夹下所有文件,不会进入子文件夹的,f就是文件
        en = fs.GetExtensionName(f)     '获取文件的后缀,不知是lnk还是.lnk还是*.lnk,调试一下就知道了
        If LCase(en) = "lnk" Then    '防止后缀大小写不一致,统一大小写比较
            Shell f.Name             'f.name 应该是文件全路径了,如果不是,就自己组合一下
        End If 
    Next
    
End Sub

 代码没调试,可以中断一下看 fs.GetExtensionName(f) 这个获取后缀返回的东西究竟是什么样的,说不定是“ .lnk "

回答2:

dir枚举文件,放入数组,然后再用循环执行shell ...