实例介绍
【实例简介】
【实例截图】
【实例截图】
【核心代码】
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Diagnostics; namespace SystemProcess { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label11; private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label14; private System.Windows.Forms.Button button1; private System.Windows.Forms.ListBox listBox1; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.groupBox1 = new System.Windows.Forms.GroupBox(); this.listBox1 = new System.Windows.Forms.ListBox(); this.button1 = new System.Windows.Forms.Button(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.label14 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.SuspendLayout(); // // groupBox1 // this.groupBox1.Controls.Add(this.listBox1); this.groupBox1.Controls.Add(this.button1); this.groupBox1.Location = new System.Drawing.Point(8, 8); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(144, 256); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; this.groupBox1.Text = "系统进程列表"; // // listBox1 // this.listBox1.ItemHeight = 12; this.listBox1.Location = new System.Drawing.Point(8, 16); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(128, 196); this.listBox1.TabIndex = 2; this.listBox1.SelectedIndexChanged = new System.EventHandler(this.listBox1_SelectedIndexChanged); // // button1 // this.button1.Location = new System.Drawing.Point(8, 224); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(128, 23); this.button1.TabIndex = 1; this.button1.Text = "更新系统进程信息"; this.button1.Click = new System.EventHandler(this.button1_Click); // // groupBox2 // this.groupBox2.Controls.Add(this.label14); this.groupBox2.Controls.Add(this.label13); this.groupBox2.Controls.Add(this.label12); this.groupBox2.Controls.Add(this.label11); this.groupBox2.Controls.Add(this.label10); this.groupBox2.Controls.Add(this.label9); this.groupBox2.Controls.Add(this.label8); this.groupBox2.Controls.Add(this.label7); this.groupBox2.Controls.Add(this.label6); this.groupBox2.Controls.Add(this.label5); this.groupBox2.Controls.Add(this.label4); this.groupBox2.Controls.Add(this.label3); this.groupBox2.Controls.Add(this.label2); this.groupBox2.Controls.Add(this.label1); this.groupBox2.Location = new System.Drawing.Point(160, 8); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(192, 256); this.groupBox2.TabIndex = 1; this.groupBox2.TabStop = false; this.groupBox2.Text = "被选择的系统进程信息"; // // label14 // this.label14.Location = new System.Drawing.Point(8, 232); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(168, 16); this.label14.TabIndex = 13; this.label14.Text = "虚拟内存:"; // // label13 // this.label13.Location = new System.Drawing.Point(8, 216); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(168, 16); this.label13.TabIndex = 12; this.label13.Text = "物理内存:"; // // label12 // this.label12.Location = new System.Drawing.Point(8, 200); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(168, 16); this.label12.TabIndex = 11; this.label12.Text = "未分页系统内存:"; // // label11 // this.label11.Location = new System.Drawing.Point(8, 184); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(168, 16); this.label11.TabIndex = 10; this.label11.Text = "分页内存:"; // // label10 // this.label10.Location = new System.Drawing.Point(8, 168); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(168, 16); this.label10.TabIndex = 9; this.label10.Text = "分页虚拟内存:"; // // label9 // this.label9.Location = new System.Drawing.Point(8, 152); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(168, 16); this.label9.TabIndex = 8; this.label9.Text = "峰值分页内存:"; // // label8 // this.label8.Location = new System.Drawing.Point(8, 136); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(168, 16); this.label8.TabIndex = 7; this.label8.Text = "峰值虚拟内存:"; // // label7 // this.label7.Location = new System.Drawing.Point(8, 120); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(168, 16); this.label7.TabIndex = 6; this.label7.Text = "专用内存:"; // // label6 // this.label6.Location = new System.Drawing.Point(8, 104); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(168, 16); this.label6.TabIndex = 5; this.label6.Text = "启动时间:"; // // label5 // this.label5.Location = new System.Drawing.Point(8, 88); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(168, 16); this.label5.TabIndex = 4; this.label5.Text = "线程优先级:"; // // label4 // this.label4.Location = new System.Drawing.Point(8, 72); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(168, 16); this.label4.TabIndex = 3; this.label4.Text = "CPU占用时间:"; // // label3 // this.label3.Location = new System.Drawing.Point(8, 56); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(168, 16); this.label3.TabIndex = 2; this.label3.Text = "启动线程数:"; // // label2 // this.label2.Location = new System.Drawing.Point(8, 40); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(168, 16); this.label2.TabIndex = 1; this.label2.Text = "进程ID:"; // // label1 // this.label1.Location = new System.Drawing.Point(8, 24); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(168, 16); this.label1.TabIndex = 0; this.label1.Text = "进程映像名:"; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(360, 270); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.MaximizeBox = false; this.Name = "Form1"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "演示获取系统进程信息"; this.Load = new System.EventHandler(this.Form1_Load); this.groupBox1.ResumeLayout(false); this.groupBox2.ResumeLayout(false); this.ResumeLayout(false); } #endregion /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void button1_Click(object sender, System.EventArgs e) {//获取系统当前所有进程 this.listBox1.Items.Clear(); Process[] MyProcesses=Process.GetProcesses(); foreach(Process MyProcess in MyProcesses) { this.listBox1.Items.Add(MyProcess.ProcessName); } this.listBox1.SelectedIndex=0; } private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e) {//显示选择的系统进程详细信息 try { string ProcessName=this.listBox1.Text; this.groupBox2.Text=ProcessName "进程的详细信息"; Process[] MyProcess=Process.GetProcessesByName(ProcessName); this.label1.Text="进程映像名:" MyProcess[0].ProcessName; this.label2.Text="进程ID:" MyProcess[0].Id; this.label3.Text="启动线程数:" MyProcess[0].Threads.Count.ToString(); this.label4.Text="CPU占用时间:" MyProcess[0].TotalProcessorTime.ToString(); this.label5.Text="线程优先级:" MyProcess[0].PriorityClass.ToString(); this.label6.Text="启动时间:" MyProcess[0].StartTime.ToLongTimeString(); this.label7.Text="专用内存:" (MyProcess[0].PrivateMemorySize/1024).ToString() "K"; this.label8.Text="峰值虚拟内存:" (MyProcess[0].PeakVirtualMemorySize/1024).ToString() "K"; this.label9.Text="峰值分页内存:" (MyProcess[0].PeakPagedMemorySize/1024).ToString() "K"; this.label10.Text="分页系统内存:" (MyProcess[0].PagedSystemMemorySize/1024).ToString() "K"; this.label11.Text="分页内存:" (MyProcess[0].PagedMemorySize/1024).ToString() "K"; this.label12.Text="未分页系统内存:" (MyProcess[0].NonpagedSystemMemorySize/1024).ToString() "K"; this.label13.Text="物理内存:" (MyProcess[0].WorkingSet/1024).ToString() "K"; this.label14.Text="虚拟内存:" (MyProcess[0].VirtualMemorySize/1024).ToString() "K"; } catch(Exception Err) { //不处理产生的异常 } } private void Form1_Load(object sender, System.EventArgs e) { button1_Click(null,null); } } }
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论