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" запрещен.

Кто-нибудь может сказать мне, что делать?

0 ответов

Другие вопросы по тегам