Я хочу добавить свое собственное расширение файла в реестр win 7. И я также хочу добавить опцию правой кнопки мыши "Play with xPlayer" для этого расширения.
Я хочу использовать его в моем приложении C #. Как я могу сделать это с помощью реестра?
Я хочу добавить свое собственное расширение файла в реестр win 7. И я также хочу добавить опцию правой кнопки мыши "Play with xPlayer" для этого расширения.
Я хочу использовать его в моем приложении C #. Как я могу сделать это с помощью реестра?
MSDN имеет обширную документацию о том, как работать с расширениями файлов в реестре. Начните с этих статей:
Типы файлов и ассоциации файлов
Рекомендации по сопоставлению файлов и программ по умолчанию
Обновление: вам нужно будет создать следующие ключи и значения реестра как минимум (регистрации расширений файлов поддерживают множество функций):
HKEY_CURRENT_USER\Software\Classes\.myext (Default) = "MyAppExt" HKEY_CURRENT_USER\Software\Classes\MyAppExt\shell\PlayWithXPlayer (Default) = "Play with xPlayer" HKEY_CURRENT_USER\Software\Classes\MyAppExt\shell\PlayWithXPlayer\command (Default) = ""c:\path to\xplayer.exe" "%1""
Замените HKEY_LOCAL_MACHINE
если вы хотите, чтобы расширение вашего файла было доступно для всех пользователей на ПК, а не только для пользователя, который запускает ваше приложение / установщик.
Например:
using System;
using Microsoft.Win32;
// substitute "HKEY_LOCAL_MACHINE" if needed...
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Classes\\.xpl", "", "xPlayer", RegistryValueKind.String);
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Classes\\xPlayer\\shell\\PlayWithXPlayer", "", "Play with xPlayer", RegistryValueKind.String);
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Classes\\xPlayer\\shell\\PlayWithXPlayer\\command", "", "\"c:\\path to\\xplayer.exe\" \"%1\"", RegistryValueKind.String);
В качестве альтернативы:
using System;
using Microsoft.Win32;
// substitute Registry.LocalMachine if needed...
RegistryKey rkRootKey = Registry.CurrentUser;
RegistryKey rk = rkRootKey.CreateSubKey("Software\\Classes\\.xpl");
rk.SetValue("", "xPlayer", RegistryValueKind.String);
rk.Close();
rk = rkRootKey.CreateSubKey("Software\\Classes\\xPlayer\\shell\\PlayWithXPlayer");
rk.SetValue("", "Play with xPlayer", RegistryValueKind.String);
RegistryKey rk2 = rk.CreateSubKey("command");
rk2.SetValue("", "\"c:\\path to\\xplayer.exe\" \"%1\"", RegistryValueKind.String);
rk2.Close();
rk.Close();
Когда ваше приложение проигрывателя запущено, оно может просмотреть параметры своей командной строки и, если оно увидит переданное имя файла, может воспроизвести файл по мере необходимости.