快速創(chuàng)建快捷方式只需要調(diào)用Windows系統(tǒng)內(nèi)部的一個COM組件即可,它的名字為 Windows Script Host Object Model,項目菜單或者工程菜單上添加引用,然后選擇COM,找到WSH組件。
如果沒有發(fā)生錯誤,VB.NET自動為我們創(chuàng)建了一個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") '在桌面上創(chuàng)建說明文件的路徑,注意擴展名為 .lnk
With lnk
.Arguments = "/?" '傳遞參數(shù)
.Description = "這是說明信息,我是COM托管類庫創(chuàng)建的快捷文件!"
.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進行調(diào)試,如果沒有發(fā)生錯誤,本程序?qū)詣釉谀愕淖烂嫔蟿?chuàng)建一個快捷方式,你可以打開右鍵查看它的屬性,就如同設(shè)置的一樣。
方法二:
雖然使用上面的方法創(chuàng)建快捷方式很方便,但必須要帶一個48k的 Interop.IWshRuntimeLibrary.dll ,帶著一個拖油瓶,總是讓人很不爽。
嘿嘿,總有解決的辦法,下面介紹如何直接調(diào)用COM組件。
在VB.NEt中,有一個CreateObject函數(shù),這個函數(shù)可以直接創(chuàng)建COM對象。雖然它返回的是一個 __ComObject 對象,但利用VB.NET的后期動態(tài)反射,它可以直接調(diào)用這個對象的屬性和方法,非常方便!
新建一個按鈕Button2,寫入下面的代碼:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' 直接調(diào)用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 = "/?" '傳遞參數(shù)
.Description = "我是直接調(diào)用COM創(chuàng)建的非托管對象創(chuàng)建的快捷方式!"
.Ic '調(diào)用dll資源內(nèi)的圖標,索引在第23個圖標,問號幫助
.TargetPath = Application.StartupPath & "\樂博網(wǎng).txt"
.WindowStyle = 7 '打開窗體的風格,最小化
.WorkingDirectory = Application.StartupPath '工作路徑
.Save() '保存快捷方式
End With
MsgBox("OK!", MsgBoxStyle.Information)
End Sub
如果沒有發(fā)生錯誤,將會在桌面創(chuàng)建另一個快捷方式,它調(diào)用了系統(tǒng)目錄下的 shell32.dll 內(nèi)的資源圖標,并以最小化打開文件。