Windowsサービスでmplayerとfilewatcherを使用してスナップショットを作成しようとしています。私はサービスを作成し、スナップショットを作成するコマンドラインのmplayerを取得することができましたが、問題が発生しました。ある種のキューを作成して、mplayerプロセスを一度に実行しIOをフラッディングさせないようにする必要があります。私はSynchronizedCollectionの作成を試行しましたが、ファイルがキューに入っているかどうかをチェックしてスナップショットを作成するための新しいスレッドを生成する制御プロセスをどこから開始するべきかを理解するのに問題があります。WindowsサービスでFilewatcherを使用してコマンドラインプロセスを制御する
0
A
答えて
0
もう少し前に何かを実装しなければなりませんでしたが、ここでは基本的なコードサンプルがあります。 フルクラスHereが見つかります。ここで
はあなたが何をする必要があるかの基本は、あなたがキューを必要とする
、ある、あなたはあなたのキューを格納するための任意のリストデータ構造を使用することができ、あなたはこのキューに新しいアイテムを追加するには、ファイルウォッチャーが必要です。
このようなキューを処理する別の方法が必要です。また、あなたのファイルウォッチャ意志は、それが実行されていない場合ProcessQeueue()
をトリガーすることを確認するために、それを把握するのに十分な簡単されなければならない必要
private void ProcessQueue()
{
do
{
try
{
Itme job = null;
lock (Queue)
{
if (Queue.Count != 0)
{
job = Queue.First();
Queue.Remove(job);
}
}
if (job != null)
{
Execute(job);
}
}
catch (Exception e)
{
Logger.FatalException("An error has occurred while processing queued job.", e);
}
} while (Queue.Count != 0);
Logger.Trace("Finished processing jobs in the queue.");
return;
}
(キューが空になるまで、このキュー内の項目を処理します)設定したフラグ変数を使用することも、プロセスインスタンスがある場合は、そのプロセスインスタンスの状態をチェックすることもできます。
関連する問題
- 1. Java RMIを使用してWindowsサービスからデスクトップウィンドウを制御する方法は?
- 2. WPFアプリケーションで制御されるWindowsサービス
- 3. C#のWindowsサービスアプリケーションを使用してデータストリームを制御する
- 4. Web経由のWindowsサービスの制御?
- 5. .NetのWindowsサービスを制御する際の問題
- 6. 分度器を使用してWindowsファイルセレクタを制御するには
- 7. Javaを使用してリモートからWindows Media Playerを制御する方法は?
- 8. IronPythonを使用してWindows Media Playerインスタンスを制御する問題
- 9. Windowsコンソールアプリケーションをstdinパイプで制御する
- 10. WIndowsファイルアクセス制御
- 11. javaを使用して管理者としてコマンドラインプロセスを実行
- 12. jqueryを使用してIMG経由でチェックボックスを制御する
- 13. Googleのアクションを使用してカスタムコマンドでデバイスを制御する
- 14. スウィフトでスライダーを使用してciFilterを制御する
- 15. MayaパーティクルでMEL式を使用してジョイントローテーションを制御する
- 16. リモートクラスのサービスを制御する.Netクラス?
- 17. Azure SFアプリケーションのサービスを制御する
- 18. サービスへのアクセスを制御するデザインパターン
- 19. MediaPlayerサービスを制御するオーディオケーブル
- 20. Pythonで制御Windowsアプリケーション
- 21. フィンガーでスクロールバーを制御しているWindowsモバイル
- 22. Arduinoを使用してLEDの明るさを制御する
- 23. JavaScriptを使用しているページのテキストを制御する
- 24. コンボボックスを使用してリストボックスを制御できますか?
- 25. Windowsサービスを使用してWindows資格情報をバイパスする
- 26. jQueryを使用してページのHTML5オーディオを制御する
- 27. Sweaveを使用してエコー幅を制御する方法
- 28. jQueryを使用してCSSの枠線を制御する
- 29. カラムを使用してシャイニーダッシュボードのtabBoxコントロールを制御する
- 30. Javaプログラムを使用してWebブラウザを制御する