现在的位置: 首页 > 综合 > 正文

如何创建快捷方式(包括在任意磁盘根目录及子目录位置创建文件,目录甚至我的电脑的快捷方式)

2013年03月16日 ⁄ 综合 ⁄ 共 2406字 ⁄ 字号 评论关闭

首先保证你有权限:运行应用程序、建立目录

这里要说的不是API,是WScript.Shell对象。

创建文件及目录的快捷方式的源码如下: 

创建模块并粘贴以下代码:

Option Explicit
'参数:快捷方式名称[.LNK];快捷方式图标所在文件及图标序号;文件原始路径;[文件名及扩展名];[快捷方式热键];[快捷方式备注];[快捷方式目标路径]
Public Sub mShellLnk(ByVal LnkName As String, IconFileIconIndex As String, ByVal FilePath As String, Optional ByVal FileName As String, Optional ByVal HookKey As String = "", Optional ByVal StrRemark As String = "", Optional ByVal strDesktop As String = "")
Dim WshShell As Object, WScript As Object, oShellLink As Object
         Set WshShell = CreateObject("WScript.Shell")
         If strDesktop = "" Then strDesktop = WshShell.SpecialFolders("Desktop")   '桌面路径
         If UCase(Right(LnkName, 4)) = ".LNK" Then
            Set oShellLink = WshShell.CreateShortcut(strDesktop & "/" & LnkName)  '创建快捷方式,参数为路径和名称
         Else
            Set oShellLink = WshShell.CreateShortcut(strDesktop & "/" & LnkName & ".lnk")
         End If
         oShellLink.TargetPath = FilePath & "/" & FileName
         oShellLink.WindowStyle = 1 '风格
         oShellLink.Hotkey = HookKey '热键
         oShellLink.IconLocation = IconFileIconIndex '图标
         oShellLink.Description = StrRemark '快捷方式备注内容
         oShellLink.WorkingDirectory = FilePath '源文件所在目录
         oShellLink.Save    '保存创建的快捷方式
         Set WshShell = Nothing
         Set oShellLink = Nothing
End Sub
调用方式如下:

创建窗体并粘贴以下代码:

Private Sub Form_Click()

'===========================================
'演示创建目录的桌面快捷方式
'===========================================
'创建C盘的桌面快捷方式
mShellLnk "演示程序创建的 C盘快捷方式.lnk", "Explorer.exe, 0", "C:/", "", "Ctrl+Shift+C", "C盘"

'===========================================
'演示创建文件的桌面快捷方式
'===========================================
'在C盘根目录创建记事本的桌面快捷方式
mShellLnk "演示程序创建的 记事本快捷方式.lnk", "NOTEPAD.exe, 0", "NOTEPAD.EXE", "", "Ctrl+Shift+N", "记事本", "D:/"

End Sub

 

OK,运行查看结果吧。

标题当中提到了创建我的电脑的快捷方式,呵呵,上面的代码是实现不了的。不过根本就不麻烦。

在Private Sub Form_Click()事件中加入以下一句

'===========================================
'演示在D盘根目录创建我的电脑快捷方式
'===========================================
MkDir "d:/演示程序创建的 我的电脑快捷方式.{20D04FE0-3AEA-1069-A2D8-08002B30309D}"

再运行看看:

结果1:在D盘根目录创建了我的电脑的快捷方式,OK?

结果2:这个快捷方式没有扩展名。在DOS下可以DIR看见也可以CD进去,但是WINDOWS下你双击,嘿嘿。

结果3:重复运行了2次创建C盘的桌面快捷方式、在C盘根目录创建记事本的桌面快捷方式的代码,但没有重复创建。

继续说明一下,虽然被同志们都说的烂烂的了:

MkDir "d:/演示程序创建的 我的电脑快捷方式.{20D04FE0-3AEA-1069-A2D8-08002B30309D}"一句,只要不改变  .{20D04FE0-3AEA-1069-A2D8-08002B30309D}  部分(注意,前面有个点),就可以创建我的电脑的快捷方式。实际上 {20D04FE0-3AEA-1069-A2D8-08002B30309D}  是查找注册表得到的,在运行当中输入REGEDIT,调用注册表,查找“我的电脑”就可以得到这个串(分支名),忘记叫什么名堂了,好象什么G什么D的,哈哈,同样的,查找回收站等等或者直接在刚才的分支上下来查看,都可以得到很多有趣的结果,然后创建一个文件夹,将其扩展名改成刚才找到的分支名即可。曾经有大侠还在电脑报上提过这种方式用来隐藏文件。。。呵呵。。不多说了。

 

抱歉!评论已关闭.