創(chuàng)建快捷方式對于絕大多數(shù) Windows 用戶來說都是小菜一碟了,然而,這項(xiàng)工作卻為程序員帶來不少麻煩.
.NET 沒有提供簡便直接的創(chuàng)建快捷方式的方法,那么在 .NET 中我們?nèi)绾螢閼?yīng)用程序創(chuàng)建快捷方式呢?
1. 快捷方式文件
快捷方式實(shí)質(zhì)上是一個(gè)擴(kuò)展名為 .LNK 的文件.右擊一個(gè)快捷方式文件并選擇屬性,跳到快捷方式選項(xiàng)卡,你可以看到一個(gè)快捷方式包含如下數(shù)據(jù):
·快捷方式的名字
·快捷方式所指向的目標(biāo)所在的位置
·快捷方式所指向的目標(biāo)的工作目錄
·激活該快捷方式的熱鍵
·快捷方式所指向的目標(biāo)運(yùn)行時(shí)的窗口風(fēng)格(普通、最大化和最小化)
·該快捷方式的描述性文字
·快捷方式的圖標(biāo)所在的位置
2. 使用 WSH 創(chuàng)建快捷方式
2.1 添加 WSH 的引用
這里使用 Visual C# 2005 Express Edition Beta 2 來開發(fā)的,添加引用的方法:
右擊你的項(xiàng)目并選擇添加引用,選COM 選項(xiàng)卡,并選擇 Windows Script Host Object Model,
2.2 創(chuàng)建你的快捷方式
創(chuàng)建一個(gè)快捷方式的完整代碼如下:
using System;
using IWshRuntimeLibrary;
class Program
{
static void Main( string[] args )
{
WshShell shell = new WshShell( );
IWshShortcut shortcut = ( IWshShortcut )shell.CreateShortcut( Environment.GetFolderPath( Environment.SpecialFolder.DesktopDirectory ) + "/" + "Allen’s Application.lnk" );
shortcut.TargetPath = System.Reflection.Assembly.GetExecutingAssembly( ).Location;
shortcut.WorkingDirectory = System.Environment.CurrentDirectory; shortcut.WindowStyle = 1;
shortcut.Description = "Launch Allen’s Application"; shortcut.IconLocation = System.Environment.SystemDirectory + "/" + "shell32.dll, 165"; shortcut.Save( );
}
}
首先,我們創(chuàng)建一個(gè) WshShell 的實(shí)例對象,接著通過該對象的 CreateShortcut 方法來創(chuàng)建 IWshShortcut 接口的實(shí)例對象,傳遞給 CreateShortcut 方法的參數(shù)是將要創(chuàng)建的快捷方式的完整路徑(包括該快捷方式的名字).
接下來,我們就要設(shè)置 IWshShortcut 實(shí)例對象的相關(guān)屬性值了.
2.3 設(shè)置快捷方式的屬性
2.3.1 TargetPath
該屬性僅用于設(shè)置或者讀取快捷方式的目標(biāo)所在的位置.所給示例代碼中,將要創(chuàng)建的快捷方式指向本應(yīng)用程序.
2.3.2 WorkingDirectory
該屬性指定應(yīng)用程序的工作目錄,當(dāng)用戶沒有指定一個(gè)具體的目錄時(shí),快捷方式的目標(biāo)應(yīng)用程序?qū)⑹褂迷搶傩运付ǖ哪夸泚硌b載或保存文件.
2.3.3 WindowStyle
該屬性指定快捷方式的目標(biāo)應(yīng)用程序的窗口為普通(原始)狀態(tài)、最小化或者最大化.
2.3.4 Description
該屬性設(shè)置用于設(shè)置或者讀取快捷方式的附加說明.
2.3.5 IconLocation
該屬性用于指定快捷方式的圖表的所在位置,它的值包含一個(gè)完整的路徑和一個(gè)索引值.所給示例代碼中,快捷方式的圖標(biāo)被設(shè)定為系統(tǒng)文件夾中的 Shell32.dll 文件所包含的第165個(gè)圖標(biāo).
2.4 生成快捷方式
CreateShortcut 僅僅創(chuàng)建一個(gè) IWshShortcut 的實(shí)例對象,它不會為你生成任何快捷方式,當(dāng)一切就緒后,你必須調(diào)用 IWshShortcut.Save 方法才能生成快捷方式文件.
3. 活用快捷方式簡化操作
想象一下你的應(yīng)用程序支持命令行參數(shù)組合運(yùn)行,例如:App /out:output.txt /sortby:date /desc 而你又希望只需要輕輕按下 CTRL+ALT+F11 就可以直接啟動這項(xiàng)功能,這時(shí)你就需要用到 IWshShortcut 的 Arguments 和 Hotkey 兩個(gè)屬性了:
shortcut.Arguments = "/out:output.txt /sortby:date /desc";
shortcut.Hotkey = "CTRL+ALT+F11";
注意:Hotkey 屬性的值里面不能包含空格. 你可以在應(yīng)用程序里面像平常那樣處理命令行參數(shù):
class Program
{
static void Main( string[] args )
{
foreach ( string arg in args )
{
Console.WriteLine( arg );
}
}
}
// Output://// /out:output.txt// /sortby:date// /desc
現(xiàn)在,你把這個(gè)快捷方式放到桌面,每當(dāng)你需要運(yùn)行的時(shí)候,輕輕的按下 CTRL+ALT+F11 就行了。
新聞熱點(diǎn)
疑難解答
圖片精選