集成到Windows Explorer上下文菜单
-
12-09-2019 - |
题
我想编写一个小工具,可以执行以下操作:
当您右键单击具有某个文件扩展的文件时,Windows Explorer上下文菜单显示了附加条目。
当您单击此条目时,该文件将启动某个EXE作为其参数之一。
我想为此使用c#/。net 2.0。如果不可能,我也可以使用C ++/Win32进行操作。
我的问题是:
- C#.NET 2.0是否可以?
- 集成到Windows Explorer上下文菜单中的必要功能是什么?
- 我该如何永久性? (我不想在每次启动后重新启动此工具)
- 我必须特别照顾什么? (不同的操作系统,安全权限等)
解决方案
您将需要访问注册表并添加一个密钥 root\\File\\shell
或者 root\Folder\\shell
, ,取决于您想要哪些菜单项可见的项目。
尝试 本文在Codeproject上, ,非常有用。
编辑:有 另一篇文章 可能会有所帮助。
其他提示
顺便说一句,由于当前无法在同一过程中托管多个运行时版本,因此不支持使用.NET进行壳扩展(.NET 4将取消此限制)。
考虑一下您有两个外壳扩展的情况;一个用于.NET 3.5,一个用于.NET 1.哪个运行时将加载到您的流程中?好吧,它或多或少是随机的 - 这取决于首先加载哪种壳扩展名。有时可能是2.0运行时,有时可能是1.1运行时。
如果.NET程序创建通用文件对话框,这也是一个问题。您的外壳扩展名可能会或可能不会加载,并且可能会使用正确的运行时版本运行或不运行。
因此,如果您跌倒了 外壳延伸路线 您应该使用本机C ++/com/win32。
不隶属于 StackOverflow