4

起動時に、それ自体の重複プロセスをチェックするアプリがあります。

その部分は正しいですが、必要なのは、ロジックを実行するために、元の実行中のプロセスの状態変数をチェックすることです。

では、変数 (bool など) を他のアプリケーションで公開してクエリできるようにするにはどうすればよいでしょうか?

4

4 に答える 4

4

これを行う方法はたくさんあります。非常に原始的な方法は、ファイルから読み書きすることです。古い win32 の方法は、PostMessageを使用することです。より多くの .NET の方法は、リモーティングまたは WCF と名前付きパイプを使用することです。

.NET 4 では、メモリ マップ ファイルもサポートされています。

これは、.NET 4 http://www.codeproject.com/KB/threads/csthreadmsg.aspx以外のメモリ マップ ファイルのサポートを含む、いくつかの異なるアプローチを説明するかなり詳細な記事です 。

于 2009-11-20T13:47:08.013 に答える
1

最も簡単な方法: ファイルを作成し、その中に何かを書き込みます。

より高度で、正しく実行するとより堅牢になるのは、WCFを使用することです。名前付きパイプを使用して、ローカル コンピューターにのみ通信チャネルを設定します。

于 2009-11-20T13:45:34.657 に答える
1

Mutexを使用して別のプロセスが実行されているかどうかを確認する場合 (実行する必要があります)、別の Mutex を使用できます。そのロック状態は、探しているブール値のフラグになります。

于 2009-11-20T13:45:51.160 に答える
0

これを行う標準的な方法は、Windows API を使用してミューテックスを作成およびロックすることです。最初に開いたアプリがミューテックスを作成してロックします。アプリの後続の実行では、それを取得できず、シャットダウンする可能性があります。

于 2009-11-20T13:45:56.030 に答える