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. C#のWindowsサービスアプリケーションを使用してデータストリームを制御する
- 2. Web経由のWindowsサービスの制御?
- 3. IronPythonを使用してWindows Media Playerインスタンスを制御する問題
- 4. Javaを使用してリモートからWindows Media Playerを制御する方法は?
- 5. Windowsコンソールアプリケーションをstdinパイプで制御する
- 6. WIndowsファイルアクセス制御
- 7. jqueryを使用してIMG経由でチェックボックスを制御する
- 8. javaを使用して管理者としてコマンドラインプロセスを実行
- 9. リモートクラスのサービスを制御する.Netクラス?
- 10. フィンガーでスクロールバーを制御しているWindowsモバイル
- 11. Pythonで制御Windowsアプリケーション
- 12. Skype4COM.dll COM APIを使用してSkypeを制御する
- 13. ウィンドウを制御する方法Javaスクリプトを使用してサウンドレコーダー
- 14. jQueryを使用してHTML5を制御する<audio>ボリューム
- 15. ウェブページを使用してロボットアームを制御する
- 16. 矢印キーを使用してBXSLIDERを制御する
- 17. メディアクエリを使用して画像のダウンロードを制御する
- 18. htaccessを使用してセッションの非アクティブを制御する
- 19. コントローラを使用してextjs4のメニューを制御する方法
- 20. マーカークラスを使用してロジックフローを制御する
- 21. Javaプログラムを使用してWebブラウザを制御する
- 22. カラムを使用してシャイニーダッシュボードのtabBoxコントロールを制御する
- 23. jQueryを使用してドロップダウンリストを制御する
- 24. アンドロイド携帯電話を使用してデスクトップアプリケーションを制御する
- 25. spring mvcを使用してビューを制御する方法は?
- 26. jQueryを使用してページのHTML5オーディオを制御する
- 27. Sweaveを使用してエコー幅を制御する方法
- 28. シェルスクリプトを使用してコマンドラインからusbポートを制御する
- 29. Javaを使用してボリュームを制御する方法...?
- 30. Windowsサービスを使用してWindows資格情報をバイパスする