VB.NET创建快捷方式的两种方法

来源:百度文库 编辑:神马文学网 时间:2024/05/03 17:57:04
作者:夜闻香    来源:cleclso     更新时间:2009-7-30
方法一:
快速创建快捷方式只需要调用Windows系统内部的一个COM组件即可,它的名字为 Windows Script Host Object Model,项目菜单或者工程菜单上添加引用,然后选择COM,找到WSH组件。
如果没有发生错误,VB.NET自动为我们创建了一个COM包装库文件,并自动引用该库。我们新建一个窗体,在引用菜单上导入该库的命名空间:
Imports IWshRuntimeLibrary '引用 WSH COM 类库
拖放一个按钮Button1,双击进入代码页,写入下面代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' 使用COM导入库
Dim wsh As New IWshShell_Class
Dim desk As String = wsh.SpecialFolders.Item("Desktop") '从SHELL枚举中获取桌面路径
Dim lnk As IWshShortcut = wsh.CreateShortcut(desk & "\说明1.lnk") '在桌面上创建说明文件的路径,注意扩展名为 .lnk
With lnk
.Arguments = "/?" '传递参数
.Description = "这是说明信息,我是COM托管类库创建的快捷文件!"
.IconLocation = Application.StartupPath & "\Mac.ico" '快捷方式的图标,空表示使用默认文件图标,可使用ico或exe、dll shell.dll,23
.TargetPath = Application.StartupPath & "\说明.txt" '目标文件路径
.WindowStyle = 1 '打开窗体的风格
.WorkingDirectory = Application.StartupPath '工作路径
.Save() '保存快捷方式
End With
MsgBox("OK!", MsgBoxStyle.Information)
End Sub
按F5进行调试,如果没有发生错误,本程序将会自动在你的桌面上创建一个快捷方式,你可以打开右键查看它的属性,就如同设置的一样。
方法二:
虽然使用上面的方法创建快捷方式很方便,但必须要带一个48k的 Interop.IWshRuntimeLibrary.dll ,带着一个拖油瓶,总是让人很不爽。
嘿嘿,总有解决的办法,下面介绍如何直接调用COM组件。
在VB.NEt中,有一个CreateObject函数,这个函数可以直接创建COM对象。虽然它返回的是一个 __ComObject 对象,但利用VB.NET的后期动态反射,它可以直接调用这个对象的属性和方法,非常方便!
新建一个按钮Button2,写入下面的代码:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' 直接调用COM对象
Dim wsh As Object = CreateObject("WScript.Shell")
Dim desk As String = wsh.SpecialFolders("Desktop")
Dim lnk As Object = wsh.CreateShortcut(desk & "\说明2.lnk")
With lnk
.Arguments = "/?" '传递参数
.Description = "我是直接调用COM创建的非托管对象创建的快捷方式!"
.Ic '调用dll资源内的图标,索引在第23个图标,问号帮助
.TargetPath = Application.StartupPath & "\乐博网.txt"
.WindowStyle = 7 '打开窗体的风格,最小化
.WorkingDirectory = Application.StartupPath '工作路径
.Save() '保存快捷方式
End With
MsgBox("OK!", MsgBoxStyle.Information)
End Sub
如果没有发生错误,将会在桌面创建另一个快捷方式,它调用了系统目录下的 shell32.dll 内的资源图标,并以最小化打开文件。