我有一个 MDI Windows 窗体应用程序 (.net 2008),它允许用户将各种文件类型与应用程序相关联。我目前使用类似这样的注册表项来执行此操作,这会导致应用程序通过命令行加载和访问文件名:
Registry.SetValue(appKey & "\shell\open\command", "", """" & _
System.Windows.Forms.Application.ExecutablePath & """ ""%1""")
在应用程序的 pre-.net 版本中,我使用了 DDE(注册表中的 ddeexec)。如果在 Windows 资源管理器中双击文件时正在执行应用程序实例,它将打开该文件而不启动应用程序的新实例。
既然 DDE 已被 Microsoft 弃用,那么在 .net 中,当在资源管理器中双击文件时,执行 MDI 应用程序打开附加文件的最佳方式是什么,而不是启动应用程序的新实例?