【发布时间】:2016-06-22 14:17:02
【问题描述】:
有没有办法知道在 c# 中打开的当前窗口的窗口名称和持续时间,并在窗口关闭时获得回调?
【问题讨论】:
标签: c#
有没有办法知道在 c# 中打开的当前窗口的窗口名称和持续时间,并在窗口关闭时获得回调?
【问题讨论】:
标签: c#
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
【讨论】:
是的,使用 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
}
【讨论】: