Прокомментировать код, работающий с Microsoft.Win32.Registry - C#
Формулировка задачи:
Доброе всем время суток! помогите кто шарит в этой теме.Если не сложно коментами ).
И Вопрос №2 как установить проверку внесено ли уже данное в Registry для того чтоб не отрабатывать код при каждом запуске программы)
Огромное спс кто откликнется !
public class FileAssociation { const string FILE_EXTENSION = ".DrW"; public static void Associate(string description, string icon) { Registry.ClassesRoot.CreateSubKey(FILE_EXTENSION).SetValue("", Application.ProductName); if (Application.ProductName != null && Application.ProductName.Length > 0) { using (RegistryKey key = Registry.ClassesRoot.CreateSubKey(Application.ProductName)) { if (description != null) key.SetValue("", description); if (icon != null) key.CreateSubKey("DefaultIcon").SetValue("", ToShortPathName(icon)); key.CreateSubKey(@"Shell\Open\Command").SetValue("", ToShortPathName(Application.ExecutablePath) + " \"%1\""); } } } public static bool IsAssociated { get { return (Registry.ClassesRoot.OpenSubKey(FILE_EXTENSION, false) != null); } } public static void Remove() { Registry.ClassesRoot.DeleteSubKeyTree(FILE_EXTENSION); Registry.ClassesRoot.DeleteSubKeyTree(Application.ProductName); } [DllImport("Kernel32.dll")] private static extern uint GetShortPathName(string lpszLongPath, [Out]StringBuilder lpszShortPath, uint cchBuffer); private static string ToShortPathName(string longName) { StringBuilder s = new StringBuilder(1000); uint iSize = (uint)s.Capacity; uint iRet = GetShortPathName(longName, s, iSize); return s.ToString(); }
Решение задачи: «Прокомментировать код, работающий с Microsoft.Win32.Registry»
textual
Листинг программы
key.CreateSubKey(@"Shell\Open\Command").SetValue("", ToShortPathName(Application.ExecutablePath) + " \"%1\"");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д