如何在C#中添加文件资源管理器选项

本文关键字:文件 资源管理器 选项 添加 | 更新日期: 2023-09-27 18:13:36

可能重复:
带有C#的Windows外壳扩展

比如当你在窗口中右键点击一个文件,就会出现一个选项列表,比如打开、复制、删除等。你如何添加另一个选项?此外,类似且可能相同的概念,当你右键单击桌面或文件夹时,你如何做同样的事情?感谢所有的帮助。

如何在C#中添加文件资源管理器选项

您正在查找Shell Extensions。看见http://chestermr.blogspot.com/2007/03/shell-extension-context-menu.html

或http://www.codeproject.com/KB/cs/dateparser.aspx

HKCR[文件类型或扩展名]''shell[命令名称]''command

将默认键设置为REG_EXPAND_SZ类型,并将值设置为打开程序的路径。

MS Word示例:

HKEY_CLASSES_ROOT'docxfile'shell'open'command = "%ProgramFiles%'Windows NT'Accessories'WORDPAD.EXE" "%1"

HKCR下的"文件夹"键是放置目录命令的位置。

在C#等托管语言中创建shell扩展不是一个好主意。原因有很多,但最大的原因是,如果存在多个扩展,则无法控制在shell中加载哪个版本的.NET框架。

我的意思是,如果用户加载了一个使用.net 2的扩展,然后你试图加载一个使用.net 4的扩展,那么就会出现问题,因为一个进程中只能加载一个.net版本。

点击此处查看Raymond Chen的文章:http://blogs.msdn.com/b/oldnewthing/archive/2006/12/18/1317290.aspx