17

NZB ファイルを使用してバイナリをダウンロードする (C#) プログラムを作成しています。アプリケーションのインスタンスは常に 1 つしか実行されていない可能性があります。

そのため、ユーザーが .nzb ファイルをダブルクリックしたときにプログラムが実行されていない場合、プログラムが起動して処理する必要があります (簡単なファイル登録)。プログラムが既に実行されている場合、2 番目のインスタンスを起動したくありません。既に実行されているインスタンスが指定されたファイルを取得するようにします。

.IsSingleInstance トリックを使用して Visual Basic DLL を使用すると、アプリを単一インスタンスにすることができますが、そこには行きたくありません。

ミューテックスを使用してアプリが単一インスタンスであることを確認するのが正しい方法のようですが、指定されたパラメーター (.nzb ファイル) を既に実行中のインスタンスに渡す方法に行き詰まっています。

助けていただければ幸いです!:-)

4

4 に答える 4

3

これを試してみてください: メイン プログラムは、名前付きパイプまたはその他のプロセス間通信機能を作成し、それをリッスンします。NZB ファイルをパラメーターとして実行すると、パイプを開き、ファイル情報をパイプにフィードして終了する別の小さなプログラムを作成します。次に、メイン プログラムが新しいファイルを処理してダウンロードします。

于 2009-05-27T20:37:04.657 に答える
0

ファイルをキューに追加し、まだ実行されていない場合はダウンロード プログラムを開始するプログラムを 1 つ作成しないでください。そのダウンロード プログラムは、ダウンロード ファイル名を追加する単なるファイルであるキューを監視します。

于 2009-05-27T20:37:19.197 に答える
0

Genghisプロジェクトの InitialInstanceActivator を見てください。

于 2009-05-27T20:38:03.267 に答える
0

.net リモート処理などの IPC (プロセス間通信) メカニズムを使用する

于 2009-05-27T20:39:24.013 に答える