用c#实现一个计算程序启动时间的构想
发表于:2007-06-30来源:作者:点击数:
标签:
昨天同屋的兄弟来找我和森哥帮忙,说他的任务的问题,他需要做一个类似任务管理器的东西,能对系统中的进程进行监视,得到内存占用率和cpu占用率,由此来 测试 公司的某产品和word的 性能 差别,如启动时间,内存占用率等。他已经研究了半个月了,关于用c++
昨天同屋的兄弟来找我和森哥帮忙,说他的任务的问题,他需要做一个类似任务管理器的东西,能对系统中的进程进行监视,得到内存占用率和cpu占用率,由此来测试公司的某产品和word的性能差别,如启动时间,内存占用率等。他已经研究了半个月了,关于用c++如何实现,看着那些代码就头大,为了快速实现(反正无所谓用什么语言),森哥说,用C#,快!所以我就帮了他忙,查msdn,现写了一个小程序,作为需求分析吧,铺好路后就可以任车弛骋了嘛!以下是代码片断:
1: private void button1_Click(object sender, System.EventArgs e) 2: { 3: Process.Start("winword.exe"); 4: 5: System.Diagnostics.Process[] myProcesses; 6: myProcesses = 7: System.Diagnostics.Process.GetProcessesByName("foobar2000"); 8: 9: String s = myProcesses[0].TotalProcessorTime.ToString()+"\n"; 10: s += myProcesses[0].UserProcessorTime.ToString()+"\n"; 11: s += myProcesses[0].PrivilegedProcessorTime.ToString()+"\n"; 12: myProcesses = 13: System.Diagnostics.Process.GetProcessesByName("XDICT"); 14: s += myProcesses[0].TotalProcessorTime.ToString()+"\n"; 15: s += myProcesses[0].UserProcessorTime.ToString()+"\n"; 16: s += myProcesses[0].PrivilegedProcessorTime.ToString()+"\n"; 17: s += myProcesses[0].StartTime.ToString(); 18: MessageBox.Show(s,""); 19: MessageBox(myProcesses.GetValue().ToString()); 20: foreach (System.Diagnostics.Process instance in myProcesses) 21: { 22: instance.WaitForExit(3000); 23: instance.CloseMainWindow(); 24: } 25: 26: }
原文转自:http://www.ltesting.net