2009-08-13 55 views
1

我有一个MDI Windows Forms应用程序(.net 2008),它允许用户将各种文件类型与应用程序相关联。我目前做这与一个注册表项,这样的事情,这会导致应用程序加载和通过命令行访问文件名:dde文件关联的最佳.net替代文件是什么?

Registry.SetValue(appKey & "\shell\open\command", "", """" & _ 
    System.Windows.Forms.Application.ExecutablePath & """ ""%1""") 

在应用程序的pre-.net版本,我用的DDE( ddeexec在注册表中)。如果在Windows资源管理器中双击文件时正在执行应用程序的实例,则它将在不启动应用程序的新实例的情况下打开文件。

现在DDE已被Microsoft弃用,在.net中执行MDI应用程序的最佳方式是在资源管理器中双击该文件时打开一个附加文件,而不是启动一个新的实例应用?

回答

1

理想情况下,您可以使用常规文件关联技术(doc)以及某种形式的进程间通信来组织您的程序如何处理后续启动。

例如,当你的程序启动时,检查另一个实例是否已经打开。如果是这样,请将任何参数数据传递给现有实例,然后退出。现有的实例然后适当地处理数据。

这里(link)是一个很好的答案让你开始。

相关问题