5

嗨,有谁知道如何让 Windows 资源管理器将多个文件/文件夹传递到注册表中引用的外部应用程序(c#)?

我目前能够使用 %1 语法对单个文件/文件夹进行操作,但不确定如何让资源管理器通过多个项目。

有谁知道如何做到这一点?

4

3 回答 3

2

我不认为这是可能的。

当您使用资源管理器打开多个文件时,它将为您的文件启动一个单独的程序副本。我认为不可能覆盖这种行为。

编辑:我忘记了外壳扩展。这个有可能。

要解决此问题,您可以使后续副本与第一个副本通信,然后退出。对此的详细说明超出了此答案的范围。

于 2010-02-23T03:59:50.100 回答
2

当您在资源管理器中选择多个文件时,您的 shell 上下文菜单扩展的 IShellExtInit::Initialize 方法将被调用并且 pdtobj 包含选择。注意不支持编写托管 shell 扩展。

于 2010-02-23T05:31:01.863 回答
1

为了可靠地做到这一点,您需要编写一个 shell 扩展,很可能是一个 sendto 实现。

自 vb6 以来我还没有写过,但你可以在这里找到看起来很好的托管示例

或者您可以使用免费软件实用程序

于 2010-02-23T05:33:05.467 回答