实现效果:

知识运用:
public void DeleteSubKey(string subkey) //删除指定的子项
实现代码:
public void RefreshSystem()
{
Process[] ps = Process.GetProcessesByName("explorer");
foreach (Process p in ps)
{
p.Kill();
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string notePath = "C:\\Windows\\System32\\notepad.exe";
string extFile = ".ffy";
string myContent = "text/plain";
RegistryKey rk = Registry.ClassesRoot;
rk = rk.CreateSubKey(extFile);
rk.SetValue("","自定义的拓展名");
rk.SetValue("Content Type",myContent);
rk=rk.CreateSubKey("shell\\open\\Command");
rk.SetValue("",notePath+" %1");
rk.Close();
if (MessageBox.Show("关联成功!") == DialogResult.OK)
{
RefreshSystem(); //刷新explorer进程
}
}
catch (Exception ex)
{ MessageBox.Show(ex.Message); }
}
private void button2_Click(object sender, EventArgs e)
{
string extFile = ".ffy";
RegistryKey rk = Registry.ClassesRoot;
rk.CreateSubKey(extFile + "\\shell\\open\\Command");
rk.DeleteSubKey(extFile+"\\shell\\open\\Command");
if (MessageBox.Show("关联已取消!") == DialogResult.OK)
{
RefreshSystem(); //刷新explorer进程
}
}
浙公网安备 33010602011771号