Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中添加文件资源管理器选项?_C# - Fatal编程技术网

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

如何在C#中添加文件资源管理器选项?,c#,C#,可能重复: 比如,当你在windows中右键单击一个文件时,会出现一个选项列表,比如打开、复制、删除等等。你如何添加另一个选项?同样,同样的概念,当你右键点击桌面或文件夹时,你如何做同样的事情?非常感谢您的帮助。您正在寻找外壳扩展。 看 或HKCR[文件类型或扩展名]\shell[命令名]\command 将默认键设置为REG_EXPAND_SZ类型,并将值设置为打开程序的路径 MS Word示例: HKEY_CLASSES_ROOT\docxfile\shell\open\command =

可能重复:


比如,当你在windows中右键单击一个文件时,会出现一个选项列表,比如打开、复制、删除等等。你如何添加另一个选项?同样,同样的概念,当你右键点击桌面或文件夹时,你如何做同样的事情?非常感谢您的帮助。

您正在寻找
外壳扩展。
看


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

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

MS Word示例:

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

HKCR下的“Folder”键是放置目录命令的地方。

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

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


请参阅雷蒙德·陈的文章:

评论很好,但不是一篇好文章answer@L.B我不同意。答案是“你不应该”,我给出了一个理由。