C#

您所在的位置:网站首页 定时启动关闭程序软件 C#

C#

2024-07-10 05:51| 来源: 网络整理| 查看: 265

   继续学习基本的C#编程知识。

   定时关闭进程,主要涉及到两个方面,一是如何找出要关闭的进程,并且关闭它,二是做到时间的控制,就是所谓的定时。

  

  对于进程的处理,我用的是C#中的process类。

  该类的作用是可以用于进程的管理,所需命名空间是:System.Diagnostics;    System.Diagnostics 提供特定的类,使您能够与系统进程、事件日志和性能计数器进行交互。

  运用GetProcesses()方法,可以获得系统进程,利用Process.GetProcessesByName(proName);方法,可以依据进程名,获得你想要的进程。

  然后,再运用kill();方法,即可实现关闭进程的需求。

  代码片段如下:

  

private void button1_Click(object sender, EventArgs e) //核心代码 { try { string str = ""; Process[] processes; //新建数组,用于获取当前活动进程信息. processes = System.Diagnostics.Process.GetProcesses(); //Grab some basic information for each process. Process process = new Process(); //新建process类对象 for (int i = 0; i < processes.Length - 1; i++) { process = processes[i]; //将数组的每个值 赋值到对象process str = str + Convert.ToString(process.Id) + " : " + process.ProcessName + "\r\n"; //这个str 我没有用到 comboBox1.Items.Add(process.ProcessName); //将进程名,添加到下拉菜单 } comboBox1.SelectedIndex = 0; //下拉菜单显示第一项 } catch { System.Windows.Forms.MessageBox.Show("不合法的进程"); //异常显示 } } private void timer1_Tick(object sender, EventArgs e) //时间到,杀进程。 if (comboBox2.Text != "") //如果 有选择进程,就开始kil try { string proName = comboBox2.Text; //获取选择的进程 Process[] p = Process.GetProcessesByName(proName); if (p.Length > 1) { //如果能获得进程名>1,则将同名进程杀干净 for (int i = 0; i < p.Length - 1; i++) { p[i].Kill(); } } else { p[0].Kill(); //进程杀 } timer1.Stop(); //进程关闭后,停止计时器的使用 MessageBox.Show(comboBox2.Text + "关闭成功!快滚去干正经事吧!"); //弹出信息 return; } catch { timer1.Stop(); //停止计时器的使用 MessageBox.Show("无法关闭此进程!"); } } else { MessageBox.Show("请选择要终止的游戏!"); } }

  对于定时,我采取的是用于timer控件的方法。

  用户在界面选择要游戏的时间,然后将该时间设置为timer时间的启动时间,时间到即调用上面说的关闭进程部分。同时用timer控件实现显示倒计时的目的。

  小程序的界面如下:

               

  除了实现基本功能之外,还复习了一些基本控件的使用,时间的处理,如倒计时的实现。

  用了记事本来保存下拉菜单中用户添加的游戏进程,因此复习了文件的读写。此外,还学习了用setting来保存用户的勾选信息。

 

   

   菜鸟一个,写得很粗糙,轻喷。

  

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3