2017-10-11 4 views
0
  • 私はいくつかのアプリケーションを監視するためにC#でアプリケーションを作成していますので、exeがいつ実行されているかを知る方法(例:メモ帳)。アプリケーションの開始時期を知る方法?

  • 私はtimer実行チェックをif (Process.GetProcessesByName("process_name").Length > 0)ごとに1回試みましたが、うまくいかないかもしれません。

+0

正確に何を知りたいですか?与えられたアプリケーション(メモ帳)が現在実行中であるかどうかまたは、あなたがタイマーを使用して試してからその実行の時間を知りたい場合 –

+0

私はメモ帳の開始時に知りたい場合、if(Process.GetProcessesByName( "process_name")。Length> 0)を1秒ごとに使ってみました。 – jimbo

+0

あなたはすでに正しいことをした – BugFinder

答えて

0

私は最良の方法は、5秒間ごとに実行中のプロセスを確認するタイマーを設定することだと思います。タイマーTickイベントでは、MSDN documentation

0

を見て、それの名前でプロセスを実行するための

// This will return an empty array if notepad isn't running. 
Process[] localByName = Process.GetProcessesByName("notepad"); 

をチェックし、私はuのために、同じアプリケーションを構築しています。それは私の解決策です:

public void findProcess(string processName) 
    { 
     BackgroundWorker bg = new BackgroundWorker(); 
     bg.DoWork += (object sender, DoWorkEventArgs e){ 
      while(true) 
      { 
       Process[] process = Process.GetProcesses(); 
       foreach(var p in process) 
        if(p.ProcessName.Equals(processName)) 
        { 
         // TODO: 
        } 

       Thread.Sleep(1000); 
      }    
     }; 
    } 
関連する問題