【发布时间】:2009-01-13 04:37:41
【问题描述】:
使用 .NET 和 C# 在资源管理器右键菜单中注册程序的最简单/最佳方法是什么?
即我希望能够右键单击 Windows 资源管理器中的项目并获得“使用 MyProgram 编辑”
This is the closest thing to a tutorial I could find 但它大多只是从 .NET 进入 Win32 并且已经过时了。现在应该怎么做?
【问题讨论】:
使用 .NET 和 C# 在资源管理器右键菜单中注册程序的最简单/最佳方法是什么?
即我希望能够右键单击 Windows 资源管理器中的项目并获得“使用 MyProgram 编辑”
This is the closest thing to a tutorial I could find 但它大多只是从 .NET 进入 Win32 并且已经过时了。现在应该怎么做?
【问题讨论】:
如果你只是想添加菜单项,那么 shell 扩展是多余的。您可以在注册表中注册一个命令行,它将以所选文件作为参数运行您的 exe。只有当您想要更改资源管理器的行为、添加自定义图标或挂钩基于 shell 的文件操作时,才真正需要 shell 扩展。
http://www.codeproject.com/KB/shell/SimpleContextMenu.aspx
如果您需要外壳扩展,您最好在非托管代码中编写一个瘦包装器,通过某种跨进程通信通道调用另一个进程,即您的 .NET 应用程序。由于所有潜在的版本控制问题,不建议将 .NET 运行时加载到资源管理器进程中。
【讨论】: