2013-08-04 11 views
9

C#では実行中のプロセス(サービスプロセスではなく実際のアプリケーション)のリストを取得し、アプリケーションの開始日時を取得できますか?またはTimeSpan、またはプロセスが実行されている期間の整数ですらありますか?プロセスの実行時間を確認することは可能ですか

+0

["c#実行中のプロセスのリストを取得]"(http://www.google.com/search?q=c%23+get+list+of+running+processes)、["C#プロセス開始時刻を取得"](http://www.google.com/search?q=c%23+get+process+start+time) –

答えて

12

Process.GetProcessesは、実行中のプロセスのリストを取得します。

Process

は、関連するプロセスが開始された時刻を取得しますStartTime性質を持っています。

単にプロセスを実行している時間を取得するには、DateTime.Nowからその値を減算します。

static void Main(string[] args) 
{ 
    var procs = Process.GetProcesses(); 
    foreach (var proc in procs) { 
     TimeSpan runtime; 
     try { 
      runtime = DateTime.Now - proc.StartTime; 
     } 
     catch (Win32Exception ex) { 
      // Ignore processes that give "access denied" error. 
      if (ex.NativeErrorCode == 5) 
       continue; 
      throw; 
     } 

     Console.WriteLine("{0} {1}", proc, runtime); 
    } 

    Console.ReadLine(); 
} 
+0

プロセスに開始時刻のプロパティがあります – Kurubaran

関連する問題