Mutex を使用して単一インスタンス アプリケーションにしようとしている .NET C# WPF アプリケーションがあります。
この .NET アプリケーションは、CreateProcessAsUser() を使用して C++ ベースの DLL によって呼び出され、環境変数を介してパラメーターが与えられます。
以降のインスタンスも同様に C++ DLL によって作成されます。
後続のインスタンスは、終了する前にアプリケーションの最初のインスタンスにパラメーターを渡す必要があります。
問題は、後続のインスタンスがデータを .NET アプリケーションの最初のインスタンスに渡すことができるように、.NET アプリケーションでどのメソッドを使用できるかということです。シンプルであるほど良い。
私はいくつかを調査しましたが、もっと簡単な方法があることを願っています。
私が研究したこと:
- 名前付きパイプ
- .NET リモート処理
- Windows Messaging (WM_COPYDATA を最初のインスタンス ウィンドウに送信)
最初のインスタンスに 4 つの文字列を渡そうとしているだけなので、上記の方法は私の問題ではやややり過ぎなので、回避しようとしています。
私が考えることができる最も簡単な方法は、.NET アプリケーションから関数をエクスポートして、.NET アプリケーションの後続のインスタンスが .NET アプリケーションの最初のインスタンスでこの関数を呼び出し、関数のパラメーターとしてデータを渡すことができるようにすることです。 . しかし、これは .NET で可能ですか? .NET EXE または DLL が関数をエクスポートできないことを読みました。
ありがとう!