首页 > 解决方案 > 在 WPF 应用程序运行时添加资源管理器上下文菜单

问题描述

我有一个 WPF 应用程序,它使用来自另一个控制台应用程序项目的 API 来执行各种文件操作操作。我还有一个 SharpShell 扩展,为我提供了一个上下文菜单选项,以便在单击控制台应用程序时从它运行一个方法。

我的问题是 SharpShell 扩展无法从我的控制台应用程序运行某些重要方法。我相信这是因为该扩展目前独立于我的表单应用程序运行。

我希望所有文件(在资源管理器中)的上下文菜单仅在 WPF 应用程序运行/最小化到托盘时出现。这样,我希望上下文菜单扩展能够访问它需要从控制台应用程序执行的对象实例和方法。

为了让您更好地了解我的目录结构:

--

控制台项目

表格项目

SharpShell 扩展类库项目

--

有没有办法将我的上下文菜单扩展“附加”到 WPF 应用程序?有没有办法只通过 WPF 应用程序而不用 SharpShell 来做到这一点?

如果没有,如何在不重新运行 WPF 应用程序可执行文件的情况下从 SharpShell 扩展访问和调用当前运行的 WPF 应用程序中的方法?

标签: c#.netwpfformssharpshell

解决方案


弄清楚了。事实证明,这很容易实现,方法是创建另一个进程来处理特定于应用程序的方法以及不需要由 SharpShell 上下文菜单运行的方法,并将其作为带有上下文菜单扩展名的参数的单独 exe 文件启动。


推荐阅读