用户右键单击时打开所有文件并选择“打开方式”

时间:2010-07-01 13:39:39

标签: c# wpf

我有一个用WPF / C#编写的应用程序,它可以将多个文件作为命令行参数。当我从命令行运行多个文件时,它会打开所有文件。当我在资源管理器窗口中选择多个文件并将它们拖到应用程序图标时,它会打开所有文件。但是如果我在资源管理器中选择多个文件并右键单击,请选择打开方式,然后选择我的应用程序,它只打开最后一个。有没有办法告诉Windows我的应用程序可以处理多个文件?我注意到有些程序似乎以这种方式工作,而其他程序则没有。

2 个答案:

答案 0 :(得分:1)

shell实际上尝试为所选的每个文件启动一个单独的应用程序实例。您的应用程序需要(a)确保只有第一个实例实际显示其UI,并且(b)进行一些进程间通信以将文件从后面的实例传递到第一个实例。您可能已经在做(a),但没有(b),这可以解释为什么您只看到一个文件被打开。请参阅Stephen Toub's post关于此问题的第二个问题(关于“单实例应用”的部分)。您还可以阅读Dynamic Data Exchange (DDE),这是在应用程序实例之间传递信息的常用方法。

答案 1 :(得分:0)

这是Windows资源管理器的一个问题,只能在最后选择的文件上运行。也许这可能会有所帮助:http://social.technet.microsoft.com/Forums/en-US/w7itproui/thread/1d2e6a3b-6abb-4be9-82ac-447ecdbce201