C# ассоциированный миди-файл
Я пытаюсь связать MIDI-файлы с моим приложением C# И я получил следующее исключение, может кто-нибудь сказать мне, почему? Мой код:
public static void Associate()
{
RegistryKey FileReg = Registry.CurrentUser.CreateSubKey("Software\\Classes\\.mid");
RegistryKey AppReg = Registry.CurrentUser.CreateSubKey("Software\\Classes\\Applications\\MyApp.exe");
RegistryKey AppAssoc = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.mid");
//FileReg.CreateSubKey("DefaultIcon").SetValue("", "image_path");
FileReg.CreateSubKey("PerceivedType").SetValue("", "Bytes");
AppReg.CreateSubKey("shell\\open\\command").SetValue("", "\"" + System.Reflection.Assembly.GetExecutingAssembly().Location + "\" %1");
AppReg.CreateSubKey("shell\\edit\\command").SetValue("", "\"" + System.Reflection.Assembly.GetExecutingAssembly().Location + "\" %1");
//AppReg.CreateSubKey("DefaultIcon").SetValue("", "image_path");
AppAssoc.CreateSubKey("UserChoice").SetValue("Progid", "Applications\\MyApp.exe");
SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);
}
Исключение составляют звонки:
AppAssoc.CreateSubKey("UserChoice").SetValue("Progid", "Applications\\MyApp.exe");
Дополнительная информация: Доступ к разделу реестра "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.mid\UserChoice" запрещен.
Кто-нибудь может сказать мне, что делать?