در حال نوشتن یک پروژه برای ساختن Setup بودم و احتیاج داشتم به اینکه وقتی در قسمتی از Setup که کاربر گزینه ی ایجاد Shortcut روی Desktop رو انتخاب کرد این امکان برای کاربر فراهم بشه...
این امکان با نوشتن تابع زیر به راحتی فراهم میشه:
private void appShortcutToDesktop(string linkName)
{
string deskDir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
using (StreamWriter writer = new StreamWriter(deskDir + "\\" + linkName + ".url"))
{
string app = System.Reflection.Assembly.GetExecutingAssembly().Location;
writer.WriteLine("[InternetShortcut]");
writer.WriteLine("URL=file:///" + app);
writer.WriteLine("IconIndex=0");
string icon = app.Replace('\\', '/');
writer.WriteLine("IconFile=" + icon);
writer.Flush();
}
}
در نهایت با صدا زدن تابع بالا به صورت زیر میتونین ازش استفاده کنین:
appShortcutToDesktop("My App");
توجه کنید که متغیر string app آدرس Application ایی که میخواهید shortcut آن را ایجاد کنید را میگیرد.
که در تابع بالا آدرس Application جاری برگردانده خواهد شد.