0

実行中のアプリケーションのステータスを伝える TextBox があります(メモ帳としましょう)。メモ帳が実行されている場合は TextBox のテキストが実行されており、それ以外の場合は実行されていません。

public string ProcessStatus
{
    get 
    {
         IsProcessRunning("Notepad.exe")
              return "Running";
         return "Not Running";
    }
}

ここでの問題は、ビューが起動されたときにビューが一度だけ更新されることです。その際、メモ帳が起動していれば問題なく動作します。ここで、アプリケーションを実行し、メモ帳が実行されていないと仮定すると、TextBox は実行されていないと表示されます。ここでメモ帳を起動しますが、アプリケーションがビューを更新していないため、アプリケーションはまだ実行されていないと言っています。TextBox のプロパティ変更イベントの通知を呼び出すと、実行中と表示されます。しかし、ここで欲しいのは、TextBox が自動的に更新されることです。

私が今考えている唯一の解決策は、更新を続けるバックグラウンド プロセスを開始することProcessStatusです。しかし、これは正しい方法ですか?もっと良い方法はありますか?プロセスの DirectoryWatcher のようなものですか?

4

3 に答える 3

0

タイマー クラスを使用して ProcessStatus を定期的に実行しない理由はありません。間隔を定義できます。

于 2013-09-11T09:33:50.810 に答える