понедельник, 20 февраля 2012 г.

C#: работа с ярлыком


Маленькая "зарисовка" на тему того, как в .Net работать с ярлыками (создавать/читать/редактировать их).
Внимательно, последовательно читаем комментарии в коде.
//Сначала подключаем ссылку на библиотеку "Windows Script Host Object Model"
//(ищем её в MS VS 2010 на вкладке "COM" диалогового окна "Добавить ссылку")...
using System;
using System.IO;
//Затем добавляем "алиас" для нужного нам пространства имён:
using IWshRuntimeLibrary;
 
namespace Test {
 class Program {
  static void Main(string[] args) {
   //Каталог, в котором хотим создать ярлык
   string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
 
   IWshShell wsh = new WshShellClass();
 
   //Расширение ".lnk" указывать обязательно!
   //Если указанный lnk-файл уже существует, то объект link получит все его свойства и их
   //можно читать/редактировать.
   //Если указанный lnk-файл не существует, то он будет создан после сохранения.
   IWshShortcut link = (IWshShortcut) wsh.CreateShortcut(Path.Combine(path, "Мой ярлык.lnk"));
 
   //Настраиваем свойства ярлыка...
 
   //Для свойства WindowStyle допустимы следующие значения:
   //1 - размер по умолчанию (default).
   //3 - максимизированное окно
   //7 - минимизированное окно
   link.WindowStyle = 1;//Поведение окна при открытии
   link.TargetPath = @"%AppData%"; //полный путь к объекту (файлу или каталогу) на который должен
   //указывать ярлык
 
   link.Hotkey = "CTRL+SHIFT+N";//"Горячие" клавиши
   link.Description = "Текстовое описание моего ярлыка";//Описание
   link.WorkingDirectory = path;//Рабочий каталог
   link.IconLocation = @"%SystemRoot%\system32\SHELL32.dll, 15"; //любая иконка.
 
   //Не забываем сохранить выполненные нами изменения!
   link.Save();
  }
 }
}

Комментариев нет: