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

  • 相关阅读:
    30分钟学会如何使用Shiro
    Java NIO 系列教程
    Kafka学习之路
    Kafka消费组(consumer group)
    潭拓寺
    如何设置 ssh secure shell 支持中文
    goaccess nginx 日志分析
    【转】服务化框架技术选型与京东JSF解密
    java ee wildfly 批处理 job 工作
    wildfly 10上使用最新的 Hibernate ORM OGM
  • 原文地址:https://www.cnblogs.com/jjj250/p/2059046.html
Copyright © 2011-2022 走看看