-
vb教程之创建和删除快捷方式
OSfCreateShellGroup,OSfCreateShellLink,OSfRemoveShellLink三个API函数存在于VB的一个动态连接库Vb5stkit.dll中,使用它们可以方便的创建桌面上或是开始菜单中的快捷方式。
我们先来声明以上几个API函数,如下所示:
Private Declare Function OSfCreateShellGroup Lib "Vb5stkit.dll" Alias "fCreateShellFolder" (ByVal lpstrDirName As String) As Long
Private Declare Function OSfCreateShellLink Lib "Vb5stkit.dll" Alias "fCreateShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String) As Long
Private Declare Function OSfRemoveShellLink Lib "Vb5stkit.dll" Alias "fRemoveShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String) As Long
其中OSfCreateShellGroup函数的作用是在程序菜单中添加一个名为lpstrDirName的程序组,其参数的意义如下:
参数: 意义
lpstrDirName String,lpstrDirName指定了要创建的程序组的名称
返回值
Long,非零表示成功,零表示失败
其中OSfCreateShellLink函数的作用在指定的文件夹内创建快捷方式,其参数的意义如下:
参数: 意义
lpstrfoldername String,指定保存快捷方式的文件夹,默认为"c:Windowsstartmenuprograms"
lpstrlinkname String,指定快捷方式的名称
lpstrpathname String,指定快捷方式所指向的应用程序或文件
返回值 Long,非零表示成功,零表示失败
其中OSfRemoveShellLink函数的作用是删除一个已经建立的快捷方式,其参数的意义如下:
参数: 意义
lpstrFolderName String,指定了要删除的快捷方式所在的文件夹
lpstrLinkName String,指定了要删除的快捷方式的名称
返回值 Long,非零表示成功,零表示失败
声明完后就可以在程序中使用这几个函数了,我们先来创建一个桌面上的快捷方式吧,只须一句代码即可:
lresult = OSfCreateShellLink("....desktop", "记事本", "c:Windows otepad.exe", "")
其中"....desktop"是指桌面所在的目录,"记事本"是快捷方式的名称,而快捷方式所指向的目标文件是"c:windows otepad.exe"。
下面看看怎么添加快捷方式到开始和程序菜单中:
1、添加快捷方式到开始菜单:
lresult = OSfCreateShellLink("....start menu", "记事本", "c:Windows otepad.exe", "")
2、添加快捷方式到程序菜单(开始菜单中的“程序”子菜单)中
注释:在程序菜单中添加一个名为Test的程序组
lresult = OSfCreateShellGroup("Test")
注释:在程序菜单的Test程序组下创建记事本的快捷方式
lresult = OSfCreateShellLink("test", "记事本", "c:Windows otepad.exe", "")
现在运行程序就能看到添加到各个位置的快捷方式了,删除这些快捷方式的方法也很简单,比如我们要删除刚才添加在桌面上的快捷方式,则可以用下面代码来实现。
lresult = OSfRemoveShellLink("....desktop", "记事本")
同样的要删除开始和程序菜单中的快捷方式,只须使用如下语句即可:
注释:删除开始菜单上的快捷方式
lresult = OSfRemoveShellLink("....start menu", "记事本")
注释:删除Test程序组下的快捷方式
lresult = OSfRemoveShellLink("Test", "记事本")
我们先来声明以上几个API函数,如下所示:
Private Declare Function OSfCreateShellGroup Lib "Vb5stkit.dll" Alias "fCreateShellFolder" (ByVal lpstrDirName As String) As Long
Private Declare Function OSfCreateShellLink Lib "Vb5stkit.dll" Alias "fCreateShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String) As Long
Private Declare Function OSfRemoveShellLink Lib "Vb5stkit.dll" Alias "fRemoveShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String) As Long
其中OSfCreateShellGroup函数的作用是在程序菜单中添加一个名为lpstrDirName的程序组,其参数的意义如下:
参数: 意义
lpstrDirName String,lpstrDirName指定了要创建的程序组的名称
返回值
Long,非零表示成功,零表示失败
其中OSfCreateShellLink函数的作用在指定的文件夹内创建快捷方式,其参数的意义如下:
参数: 意义
lpstrfoldername String,指定保存快捷方式的文件夹,默认为"c:Windowsstartmenuprograms"
lpstrlinkname String,指定快捷方式的名称
lpstrpathname String,指定快捷方式所指向的应用程序或文件
返回值 Long,非零表示成功,零表示失败
其中OSfRemoveShellLink函数的作用是删除一个已经建立的快捷方式,其参数的意义如下:
参数: 意义
lpstrFolderName String,指定了要删除的快捷方式所在的文件夹
lpstrLinkName String,指定了要删除的快捷方式的名称
返回值 Long,非零表示成功,零表示失败
声明完后就可以在程序中使用这几个函数了,我们先来创建一个桌面上的快捷方式吧,只须一句代码即可:
lresult = OSfCreateShellLink("....desktop", "记事本", "c:Windows otepad.exe", "")
其中"....desktop"是指桌面所在的目录,"记事本"是快捷方式的名称,而快捷方式所指向的目标文件是"c:windows otepad.exe"。
下面看看怎么添加快捷方式到开始和程序菜单中:
1、添加快捷方式到开始菜单:
lresult = OSfCreateShellLink("....start menu", "记事本", "c:Windows otepad.exe", "")
2、添加快捷方式到程序菜单(开始菜单中的“程序”子菜单)中
注释:在程序菜单中添加一个名为Test的程序组
lresult = OSfCreateShellGroup("Test")
注释:在程序菜单的Test程序组下创建记事本的快捷方式
lresult = OSfCreateShellLink("test", "记事本", "c:Windows otepad.exe", "")
现在运行程序就能看到添加到各个位置的快捷方式了,删除这些快捷方式的方法也很简单,比如我们要删除刚才添加在桌面上的快捷方式,则可以用下面代码来实现。
lresult = OSfRemoveShellLink("....desktop", "记事本")
同样的要删除开始和程序菜单中的快捷方式,只须使用如下语句即可:
注释:删除开始菜单上的快捷方式
lresult = OSfRemoveShellLink("....start menu", "记事本")
注释:删除Test程序组下的快捷方式
lresult = OSfRemoveShellLink("Test", "记事本")
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比