//进程监控 private void timer_Tick(object sender, EventArgs e) { sysProcess = Process.GetProcesses(); MyProcess mp = new MyProcess(); foreach (Process p in sysProcess) { if (p.ProcessName != null) { mp.processName = p.ProcessName; if (!findProcessInWhite(mp)) { //暂时将计时器停止 timer.Stop(); if (PopForm.popShow("提示", "进程" + mp.processName + "不在白名单中,是否关闭?\n\n点击是则将其关闭;\n点击否则将其加入白名单。\n不做任何处理则视为否。" ) == DialogResult.OK) { //强制进程退出,丢失所有的资源和数据 //结束没有图像界面的应用程序只能用这个方法 p.Kill(); } else { whiteProcessList.processes.Add(new MyProcess(mp.processName)); XmlControl.SetWhite(GlobalConstants.WHITE_LIST_PATH, whiteProcessList); } //重新开启 timer.Start(); } } } }
/// <summary> /// 静态方法,显示弹出窗口 /// </summary> /// <param name="Title">窗口标题</param> /// <param name="Text">提示内容</param> /// <returns>返回结果</returns> public static DialogResult popShow(string Title, string Text) { //实例化一个popForm PopForm popForm = new PopForm(); //设置窗体的标题 popForm.labelTitle.Text = Title; //设置提示内容 popForm.labelText.Text = Text; //显示窗口,获取对话框结果 DialogResult result = popForm.ShowDialog(); return result; }
/// <summary> /// 静态方法,显示弹出窗口 /// </summary> /// <param name="Title">窗口标题</param> /// <param name="Text">提示内容</param> /// <returns>返回结果</returns> public static DialogResult popShow(string Title, string Text) { //实例化一个popForm PopForm popForm = new PopForm(); //设置窗体的标题 popForm.labelTitle.Text = Title; //设置提示内容 popForm.labelText.Text = Text; //显示窗口,获取对话框结果 DialogResult result = popForm.ShowDialog(); return(result); }