WPF应用程序运行时添加资源管理器上下文菜单

时间:2018-08-03 14:30:34

标签: c# .net wpf forms sharpshell

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

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

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

让您更好地了解我的目录结构是什么:

-

控制台项目

  • 公开的API

表单项目

  • 表单用户界面材料
  • 表单UI操作
    • 使用“公开的API”

SharpShell扩展类库项目

  • 上下文菜单扩展
    • 使用“公开的API” [此处失败]

-

是否可以将上下文菜单扩展“附加”到WPF应用程序?有没有一种方法可以仅通过WPF应用程序而无需SharpShell?

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

1 个答案:

答案 0 :(得分:0)

弄清楚了。事实证明,通过执行另一个过程来处理特定于应用程序的方法以及SharpShell上下文菜单不需要运行的方法,然后使用上下文菜单扩展名中的参数将其作为单独的exe文件启动,可以轻松实现这一点。