我有一个 .NET C# WPF 应用程序,我正在尝试使用 Mutex 将其制成单实例应用程序。
此 .NET 应用程序由基于 C++ 的 DLL 使用 CreateProcessAsUser() 调用,并通过环境变量获得参数。
后续实例也将由 C++ DLL 以相同方式创建。
随后的实例需要在退出之前将它们的参数传递给应用程序的第一个实例。
问题是在 .NET 应用程序中可以使用哪些方法,以便后续实例能够将它们的数据传递给 .NET 应用程序的第一个实例?越简单越好。
我研究了一些,但我希望有更简单的方法。
我研究过的东西:
- 命名管道
- .NET 远程处理
- Windows 消息(将 WM_COPYDATA 发送到第一个实例窗口)
由于我只是想将 4 个字符串传递给第一个实例,因此我试图避免使用上述方法,因为它们对我的问题来说有点矫枉过正。
我能想到的最简单的方法是从 .NET 应用程序中导出一个函数,这样 .NET 应用程序的后续实例就可以在 .NET 应用程序的第一个实例上调用此函数并将数据作为函数的参数传递. 但是,这在 .NET 中可行吗?我读过 .NET EXE 或 DLL 无法导出函数。
谢谢!