如何创建快捷方式(包括在任意磁盘根目录及子目录位置创建文件,目录甚至我的电脑的快捷方式)
首先保证你有权限:运行应用程序、建立目录
这里要说的不是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的,哈哈,同样的,查找回收站等等或者直接在刚才的分支上下来查看,都可以得到很多有趣的结果,然后创建一个文件夹,将其扩展名改成刚才找到的分支名即可。曾经有大侠还在电脑报上提过这种方式用来隐藏文件。。。呵呵。。不多说了。
如何创建快捷方式(包括在任意磁盘根目录及子目录位置创建文件,目录甚至我的电脑的快捷方式)相关推荐
- 根目录,子目录,当前目录 宿主目录、根目录及/home
根目录,子目录,当前目录的区别 基础 HTML之目录问题(相对路径和绝对路径区别) 相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径.因此,当保存于不同目录的网页引用同一个文件时,所使 ...
- 桌面路径不小心改成磁盘根目录改不回去解决方案
桌面路径不小心改成磁盘根目录改不回去解决方案 问题 分析 解决 问题 在使用电脑时,由于电脑卡顿,决定用win10自带的功能把桌面位置设置到 E 盘(具体方法参照此链接). 然而操作时,我手滑直接把路 ...
- 计算机卸载目录不让它显示,电脑卸载软件时弹出“该软件安装目录为磁盘根目录”提示怎么办...
有不少用户在卸载某个软件时,电脑系统弹出一个卸载提示:"该软件安装目录为磁盘根目录,卸载软件可能导致系统文件被删除."这是怎么回事呢?这个问题的主要原因是由于当我们在安装这些软 ...
- 线程的创建开销大吗?线程创建开销包括哪些?线程池
1-1. 关于时间,创建线程使用是直接向系统申请资源的,这里调用系统函数进行分配资源的话耗时不好说. 关于资源,Java线程的线程栈所占用的内存是在Java堆外的,所以是不受java程序控制的,只受系 ...
- Linux中磁盘还有空间,但创建文件时提示空间不足
首先需要知道创建文件时,需要满足两个条件: 1.磁盘上还有空间: 2.inode号还有剩余. 这两个条件可以分别使用"df -h"以及"df -i"查看使用情况 ...
- vista磁盘使用100%_如何在Windows 7或Vista中创建和使用密码重置磁盘
vista磁盘使用100% Forgetting your password can be an extremely frustrating situation, and we've already ...
- docker占满linux磁盘根目录的解决办法
一.磁盘根目录被占满 [test@localhost docker]$ df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/ce ...
- Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,
Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关 ...
- 磁盘根目录下隐藏病毒文件删除
昨天出差去抚顺客户的店铺里维护电脑,发现其店铺中的电脑都存在Autorun病毒.每个磁盘根目录下都存在Autorun.inf并且在任务管理器中而且rundll.exe这个程序.不用说一定是中毒了.在进 ...
最新文章
- HDU3037(卢卡斯定理)
- JQuery ajax请求一直返回Error(parsererror)
- c中写汇编语言,将汇编程序写在一个文件里,能否直接在C中调用
- AssertionError: Path does not exist: py-faster-rcnn/data/VOCdevkit2007/VOC2007/ImageSets/Main
- Qt / 伪状态和子部件
- 什么是认证、授权、会话
- 2019.5.8_此书真乃宝书也_从定位参数到仅限关键字参数
- 19 删除链表的倒数第N个
- apache php mysql环境搭建_Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
- oracle unused 语法_Oracle教程之设置为unused 后如何恢复 ?
- VB.Net视频教程和VBA简单介绍下载
- shell 强制覆盖文件夹_如何强制robocopy覆盖文件
- 北理乐学c语言答案猴子,【北理乐学】机智的大师
- 计算机专业英语(一)学习方法
- 百度文库等禁止页面弹出(禁用javascript)
- Leetcode 995. Minimum Number of K Consecutive Bit Flips
- 【08月02日】指数估值排名
- SMT贴片加工防静电基础知识
- Ubuntu16.04安装视频播放器
- android系统垃圾广告,做精致的少数派!教你两分钟关闭Flyme8全部广告
热门文章
- c语言小练pintia1-10
- python 可选参数
- 2023/4/4 常见的五种网络通信协议
- 用Python做特效,分分钟碾压5毛党
- 北京车牌,京后面的不同字母分别代表什么地区?
- C++学习/温习:新型源码学编程(一)
- VFP按钮弹出菜单,今天来讲两个方法,非常实用
- backtrader学习笔记(三).MACD
- c++中的点号(.),冒号(:)和双冒号(::)运算符
- Grush如何使用IBM Cloud Architecture Center中的IoT架构构建智能牙刷