zoukankan      html  css  js  c++  java
  • [转]C# 注册自己的右键菜单 (文件夹/文件)

    一个小小的例子, 演示了如何通过操作注册表, 添加自己的文件或文件夹右键菜单.

    // 添加到注册表
    private void btnRegister_Click(object sender, EventArgs e)
    {
    if (this.tbMenuTitle.Text.Length == 0) return;

    // 注册到文件
    if (this.ckRegToFile.Checked)
    {
    RegistryKey shell
    = Registry.ClassesRoot.OpenSubKey("*", true).OpenSubKey("shell", true);
    if (shell == null) shell = Registry.ClassesRoot.OpenSubKey("*", true).CreateSubKey("shell");
    RegistryKey custome
    = shell.CreateSubKey(this.tbMenuTitle.Text);
    RegistryKey cmd
    = custome.CreateSubKey("command");
    cmd.SetValue(
    "", Application.ExecutablePath + " %1");
    cmd.Close();
    custome.Close();
    shell.Close();
    }

    // 注册到文件夹
    if (this.ckRegToDir.Checked)
    {
    RegistryKey shell
    = Registry.ClassesRoot.OpenSubKey("directory", true).OpenSubKey("shell", true);
    if (shell == null) shell = Registry.ClassesRoot.OpenSubKey("directory", true).CreateSubKey("shell");
    RegistryKey custome
    = shell.CreateSubKey(this.tbMenuTitle.Text);
    RegistryKey cmd
    = custome.CreateSubKey("command");
    cmd.SetValue(
    "", Application.ExecutablePath + " %1");
    cmd.Close();
    custome.Close();
    shell.Close();
    }
    MessageBox.Show(
    "注册成功!", "提示");
    }

    // 反注册
    private void btnUnRegister_Click(object sender, EventArgs e)
    {
    RegistryKey shell
    = Registry.ClassesRoot.OpenSubKey("*", true).OpenSubKey("shell", true);
    if (shell != null) shell.DeleteSubKeyTree(this.tbMenuTitle.Text);

    shell
    = Registry.ClassesRoot.OpenSubKey("directory", true).OpenSubKey("shell", true);
    if (shell != null) shell.DeleteSubKeyTree(this.tbMenuTitle.Text);

    shell.Close();

    MessageBox.Show(
    "反注册成功!", "提示");
    }



    另外一个例子codeproject上的:

     http://www.codeproject.com/KB/cs/appendmenu.aspx?msg=3335190#xx3335190xx

  • 相关阅读:
    C语言qsort函数算法性能测试
    文档流 css中间float clear和布局
    EasyUI Combobox 默认设置
    碳化硅资料整理
    hdu 4864 Task(贪婪啊)
    tiny210——uboot移植Makefile文章分析
    规则字符串大小比较?
    js产生随机数
    四个好看的CSS样式表格
    request的setAttribute()怎么用的?
  • 原文地址:https://www.cnblogs.com/jjj250/p/2059046.html
Copyright © 2011-2022 走看看