2016-06-22 17 views
0

C#で開いている現在のウィンドウのウィンドウ名と継続時間を知り、ウィンドウが閉じたときにコールバックを取得する方法はありますか?C#で現在アクティブなプロセスの継続時間を取得する方法は?

+2

[どのように私はWindowsで実行中のすべてのプロセスを一覧表示することができますか?]の可能な重複(http://stackoverflow.com/questions/648410/how-can-i-list-all-processes-running-in-窓) –

答えて

1
using System.Diagnostics; 

Process[] processlist = Process.GetProcesses(); 

foreach (Process process in processlist) 
{ 
    if (!String.IsNullOrEmpty(process.MainWindowTitle)) 
     Console.WriteLine("Process: {0} ID: {1} Window title: {2}" duration: {3}" , process.ProcessName, process.Id, process.MainWindowTitle, process.duration); 
} 

// i'm not sure if process.duration actually exists but it would be something like that 
0

はい、Processクラスを使用すると、その情報を取得できます。

using System.Diagnostics; 

public void GetProcessesInfo() 
{ 
    Process[] allProcesses = Process.GetProcesses(); 

    foreach (Process process in allProcesses) 
    { 
     try 
     { 
      string windowName = process.MainWindowTitle; 
      TimeSpan duration = DateTime.Now - process.StartTime; 
      process.EnableRaisingEvents = true; 
      process.Exited += new EventHandler(process_Exited); 
     } 
     catch(System.ComponentModel.Win32Exception) 
     { 
      //access to that process was denied 
     } 
    } 
} 

void process_Exited(object sender, EventArgs e) 
{ 
    //a process has exited 
} 
関連する問題