`
zu14
  • 浏览: 442630 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

C#、VB.NET将自己的程序注册到系统的右键菜单(所有文件和目录)

    博客分类:
  • C#
阅读更多

 

今天,有个网友问:

如何将自己的程序,注册到系统的右键菜单呢? 像 winrar, 杀毒软件那样

其实实现起来,很简单的,就是一个注册表操作而已,我写了一个实例,可以实现此功能,并获取调用自己的来源文件的路径。

 

核心代码:

private void 
button1_Click(object 
sender, EventArgs 
e)
{
    string 
menuName = string
.IsNullOrEmpty(this
.textBox1.Text.Trim()) ? "真有意思网" 
: this
.textBox1.Text.Trim();
    
    //注册到所有文件
    
if 
(chkFile.Checked)
    {
        RegistryKey 
shell = Registry
.ClassesRoot.OpenSubKey(@"*\shell"
, true
);
        RegistryKey 
custom = shell.CreateSubKey(menuName);
        RegistryKey 
cmd = custom.CreateSubKey("command"
);
        cmd.SetValue(""
, Application
.ExecutablePath + " %1"
);
        //Application.ExecutablePath 是本程序自身的路径
        //%1 是传入打开的文件路径
        
cmd.Close();
        custom.Close();
        shell.Close();
    }

    //注册到所有目录
    
if 
(chkFile.Checked)
    {
        RegistryKey 
shell = Registry
.ClassesRoot.OpenSubKey(@"directory\shell"
, true
);
        RegistryKey 
custom = shell.CreateSubKey(menuName);
        RegistryKey 
cmd = custom.CreateSubKey("command"
);
        cmd.SetValue(""
, Application
.ExecutablePath + " %1"
); //%1 是传入打开的文件路径
        
cmd.Close();
        custom.Close();
        shell.Close();
    }

    MessageBox
.Show("注册成功!\r\n请通过文件或目录的右键菜单来测试结果!"
);
}

上面只是核心的部分,不能完整运行,请下载下面的完整源代码,有注释。

 

0
0
分享到:
评论

相关推荐

    DataGridView中 右键 弹出 编辑修改等菜单

    DataGridView中 右键 弹出 编辑修改等菜单

    Resource Refactoring Tool for C#/VB.net

    一个支持VS2005和2008的重构工具,很好用的Refactor tool,但是只支持C#和VB.NET,安装完毕以后在菜单栏会出现一个“重构”选项,点击鼠标右键也可以看见!语言和你的VS一致! 附上源网址,感兴趣的可以自己去看...

    asp.net知识库

    实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP...

    Datagridview使用技巧(9)Datagridview的右键菜单

    可以通过设置ContextMenuStrip对象来控制DataGridView的右键菜单的显示。 DataGridViewColumn的ContextMenuStrip属性设定除了列头以外的单元格的右键菜单。 DataGridViewRow的ContextMenuStrip属性设定除了行头以外...

    反编译工具.NET Reflector 6.5.0.135

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    .NET Reflector 7.0.0.420 Crack

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    好用的反编译工具.NET Reflector 6.1.0.11(截至2010.08.19最新版)

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    Reflector 7.5.4 带注册机和说明文件

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    好用的反编译工具.NET Reflector 6.6.0.30(截至2011.04.20最新版)

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    NTKO附件管理控件

    ★ 支持直接编辑文件 用户可双击附件直接打开编辑,或者使用右键菜单选择打开或者打印,系统自动下载到临时目录并执行相关操作。 ★ 支持提示文件修改 如果下载到本地的文件被修改,控件自动提示并可以保存回服务器...

    Reflector 6..6.0.30

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    Reflector 6.5.0.135

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    Reflector 5.1.6.0 最新破解版

    Reflector的出现使.NET程序员眼前豁然开朗,因为这个免费工具可以将.NET程序集中的中间语言反编译成C#或者Visual Basic代码。除了能将IL转换为C#或Visual Basic以外,Reflector还能够提供程序集中类及其成员的概要...

    Reflector6.5升级后最新版

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    vc++ 应用源码包_1

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    MIS金智打印通

    因此将PrinterPageSetting封装成一个.dll,分别用C#与VB.net写了使用示例工程程序 2、在IPrinterPageSetting.cs增加event PrintPageDelegate PrintPage,并将原PrintPage改为PrintPageValue /// C#调用: /...

    Microdraw图形控件开发版本-试用版

    编程语言:Viusal Basic/Viusal C++/Delphi/ASP/IE/Powerbuild/Viusal Foxpro/C++ Builder/.NET(vb.net c# vc.net)/易语言 文件管理功能: 1. 支持的文件格式包括:BMP、GIF、ICO、TGA、PCX、WBMP、WMF、JPEG、...

    vc++ 应用源码包_2

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_6

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_3

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

Global site tag (gtag.js) - Google Analytics