Я хочу добавить и пункт в контекстном меню Windows (для файлов особого типа - например, только для файлов .srt), со своим собственным кодом (на основе C # .NET), чтобы что-то делать
Я искалдля какой-то помощи, например, для разных статей на разных сайтах, но я не нашел ничего, что могло бы помочь мне завершить все, что я хочу сделать, а только самую маленькую его часть - только добавить элемент в контекстное меню.Я получил этот код из Интернета, но я не понимаю, как добавить фактическую void / команду с кодированием к текущему пункту в контекстном меню.Это мой код проекта на основе .NET Form Application (C #)
using System;
using System.Windows.Forms;
using Microsoft.Win32;
namespace Manipulate_Context_Menu
{
public partial class Form1 : Form
{
private RegistryKey rkReg = Registry.ClassesRoot;
private string strKey = @"AllFilesystemObjects\shellex\ContextMenuHandlers\Convert";
private string strClSID = "{C2FBB630-2971-11D1-A18C-00C04FD75D13}";
public Form1()
{
InitializeComponent();
}
private void CopyTo()
{
RegistryKey rkKey = rkReg.OpenSubKey(strKey);
if (rkKey == null)
{
try
{
rkKey = rkReg.CreateSubKey(strKey);
rkKey.SetValue(string.Empty, strClSID);
}
catch (UnauthorizedAccessException ex)
{
MessageBox.Show("Error", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
MessageBox.Show("Already installed.", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Button1_Click(object sender, EventArgs e)
{
CopyTo();
}
}
}
Я ожидаю, что программа, которую я запускаю один раз, добавит пункт в контекстное меню только для целевых файлов (.srt) иДобавьте элемент в контекстное меню Windows, чтобы при нажатии на элемент контекстного меню Windows я мог преобразовать этот файл .srt из одной кодировки в другую.Текущий результат программы - просто MessageBox, который я сделал, когда возникает ошибка при попытке ввести RegistryKey