C#实现强制关闭当前程序进程
/// <summary>
/// 运行DOS命令
/// DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
public static string RunCmd(string command)
{
//實例一個Process類,啟動一個獨立進程
System.Diagnostics.Process p = new System.Diagnostics.Process();
//Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
p.StartInfo.FileName = "cmd.exe"; //設定程序名
p.StartInfo.Arguments = "/c " + command; //設定程式執行參數
p.StartInfo.UseShellExecute = false; //關閉Shell的使用
p.StartInfo.RedirectStandardInput = true; //重定向標準輸入
p.StartInfo.RedirectStandardOutput = true; //重定向標準輸出
p.StartInfo.RedirectStandardError = true; //重定向錯誤輸出
p.StartInfo.CreateNoWindow = true; //設置不顯示窗口
p.Start(); //啟動
//p.StandardInput.WriteLine(command); //也可以用這種方式輸入要執行的命令
//p.StandardInput.WriteLine("exit"); //不過要記得加上Exit要不然下一行程式執行的時候會當機
return p.StandardOutput.ReadToEnd(); //從輸出流取得命令執行結果
}
在Program.cs加上如下
.static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
//强制关闭进程
string exeName = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
string[] exeArray = exeName.Split('\\');
FunctionClass.RunCmd("taskkill /im " + exeArray[exeArray.Length-1] + " /f ");
}
}
相关推荐
-
C#获取进程或线程相关信息的方法
本文实例讲述了C#获取进程或线程相关信息的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace ConsoleApp { class ProcessDo { /// <summary> /// 获取进程相关信息 /// </summary> pub
-
C#关闭指定名字进程的方法
本文实例讲述了C#关闭指定名字进程的方法.分享给大家供大家参考.具体实现方法如下: public static void stopNamedProcess(string name) { foreach (Process p in System.Diagnostics.Process.GetProcessesByName(name)) { try { p.Kill(); p.WaitForExit(); } catch (Exception exp) { Console.WriteLine(exp
-
C#使用SendMessage实现进程间通信的方法
本文实例讲述了C#使用SendMessage实现进程间通信的方法.分享给大家供大家参考.具体分析如下: 为了深入理解消息机制,先来做一个测试项目 在新建项目的Form1的代码中,加入方法: protected override void DefWndProc(ref Message m) { if (m.Msg == 0x200) { MessageBox.Show("捕捉到消息"); } else { } base.DefWndProc(ref m); } 此方法重写了窗体的消息截获
-
C#中进程的挂起与恢复
1. 源起: 仍然是模块化编程所引发的需求.产品经理难伺候,女产品经理更甚之~:p 纯属戏谑,技术方案与产品经理无关,芋头莫怪! VCU10项目重构,要求各功能模块以独立进程方式实现,比如:音视频转换模块,若以独立进程方式实现,如何控制其暂停.继续等功能呢? 线程可以Suspend.Resume,c#内置的Process没有此类方法,咋整? 山穷水尽疑无路,柳暗花明又一村.情到浓时清转薄,此情可待成追忆! 前篇描述了进程间数据传递方法,此篇亦以示例演示其间控制与数据交互方法. 2.未公开的AP
-
C#遍历系统进程的方法
本文实例讲述了C#遍历系统进程的方法.分享给大家供大家参考.具体实现方法如下: 建立一个listBox将进程名称遍历进去 this.listBox1.Items.Clear(); Process[] MyProcesses=Process.GetProcesses(); foreach(Process MyProcess in MyProcesses) { this.listBox1.Items.Add(MyProcess.ProcessName); } this.listBox1.Select
-
C#启动进程的几种常用方法
本文实例讲述了C#启动进程的几种常用方法.分享给大家供大家参考.具体如下: 1.启动子进程,不等待子进程结束 private void simpleRun_Click(object sender, System.EventArgs e) { System.Diagnostics.Process.Start(@"C:\listfiles.bat"); } 2.启动子进程,等待子进程结束,并获得输出 private void runSyncAndGetResults_Click(objec
-
C#获取任务栏显示进程的方法
本文实例讲述了C#获取任务栏显示进程的方法.分享给大家供大家参考.具体实现方法如下: private static void getWindowsInfo() { try { Process[] MyProcesses = Process.GetProcesses(); string[] Minfo = new string[6]; foreach (Process MyProcess in MyProcesses) { if (MyProcess.MainWindowTitle.Length
-
C#程序提示“正由另一进程使用,因此该进程无法访问该文件”的解决办法
问题描述: 图片加载后显示,然后进行删除操作时提示"--正由另一进程使用,因此该进程无法访问该文件.--" 解决办法: 原代码: 复制代码 代码如下: iml.Images.Add(Image.FromFile(potopath + "\\" + fi.Name)); 改为: 复制代码 代码如下: Image img = Image.FromFile(potopath + "\\" + fi.Name); iml.Images.Add(img)
-
C#实现读取被进程占用的文件实现方法
本文实例讲述了C#实现读取被进程占用的文件实现方法.分享给大家供大家参考.具体实现方法如下: 文件"D:\Log\Cargoabc\logfilecargoabc.txt"正由另一进程使用,因此该进程无法访问该文件 logfilecargoabc.txt是一个日志文件,不定时都可能由另外的程序对它进行日志记录写入操作 今需要对日志文件读取出来,显示在日志查询里,需要用到了IO流 [1] 复制代码 代码如下: FileStream fs = File.OpenRead(url); Str
-
C#实现强制关闭当前程序进程
/// <summary> /// 运行DOS命令 /// DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID /// </summary> /// <param name="command"></param> /// <returns></returns> public static string RunCmd(string command) { //實例一個Process類,啟動一個獨立
-
C#实现关闭其他程序窗口或进程代码分享
在进行winform开发过程中有时候会需要关闭其他程序或者关闭进程,以前写过一篇相关介绍的文章,今天有同事问起来,于是在次翻出来和大家分享一下. 下面介绍我所知的两种方法,应该对大家有帮助,如果有朋友知道其他的方法,谢谢共享一下. 方法1 ProcName 需要关闭的进程名称 private bool closeProc(string ProcName) { bool result = false; System.Collections.ArrayList procList = new Syst
-
使用Supervisor守护ASP.NET Core应用程序进程
目录 一.前言 二.Supervisor 1.安装Python包管理工具 2.安装Supervisor 3.配置Supervisor应用守护 4.配置Supervisor开机启动 三.总结 一.前言 在上一篇文章中,我们讲解了如何在Linux服务器上面部署ASP.NET Core应用程序,并且使用Nginx作为反向代理.我们在Linux服务器上面,是通过ASP.NET Core自宿主的方式运行应用程序.采用自宿主的方式启动ASP.NET Core应用程序,目前主要有以下几个问题: ASP.NET
-
解决time_wait强制关闭socket
解决time_wait 今天我在测试代码的时候,边开边看电影,服务端的CPU消耗和内存使用让我挺满意的 可是过了一会,在统计达到了一定连接后,后来连接很多无法登陆.象上公交车,拥 挤不堪无法上车,用netstat -an查看了下连接状态,time_wait状态的端口非常多 原因就在此了,消耗完系统的端口数,服务端将就无法接收新连接,找到问题就来说明 time_wait,这个东西默认存活时间为2分钟,够长的,这点很要命,更多的大家百度下 对付这个问题,我写了一个函数,强制关闭socket,代码环境
-
Android通过反射实现强制停止应用程序的方法
本文实例讲述了Android通过反射实现强制停止应用程序的方法.分享给大家供大家参考,具体如下: private ActivityManager manager; private List<RunningAppProcessInfo> runningProcesses; private String packName; private PackageManager pManager; @Override public void onReceive(Context context, Intent
-
C#实现启动,关闭与查找进程的方法
本文实例讲述了C#实现启动,关闭与查找进程的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 查找/列出进程很容易,但干掉进程得借助系统命令ntsd.exe,详细用法见下面的代码 : using System; using System.Diagnostics; using System.Windows.Forms; namespace ProcessDemo { public partial class Form1 : Form { public Form1() { Initiali
-
java代码关闭tomcat程序及出现问题解析
1.通过java代码实现tomcat的关闭 2.tomcatStop.java package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class tomcatStop { public static void main(String[] args) { // TODO Auto-generated method stub S
-
在python中实现强制关闭线程的示例
如下所示: import threading import time import inspect import ctypes def _async_raise(tid, exctype): """raises the exception, performs cleanup if needed""" tid = ctypes.c_long(tid) if not inspect.isclass(exctype): exctype = type(e
-
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
selenium操作chrome浏览器需要有ChromeDriver驱动来协助.webdriver中关浏览器关闭有两个方法,一个叫quit,一个叫close. /** * Close the current window, quitting the browser if it's the last window currently open. */ void close(); /** * Quits this driver, closing every associated window. */
随机推荐
- 使用 powershell 创建虚拟机
- 使用ASP获得服务器网卡的MAC地址信息
- 收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)
- PHP连接SQLSERVER 注意事项(附dll文件下载)
- Java中sleep()与wait()的区别总结
- springboot+Oauth2实现自定义AuthenticationManager和认证path
- 用js格式化金额可设置保留的小数位数
- 比较全面的PHP数组的使用方法小结
- 一个很不错的PHP翻页类
- php后台程序与Javascript的两种交互方式
- PHP中常用的输出函数总结
- 在win7中搭建Linux+PHP 开发环境
- 使用winapi安装Windows服务示例程序
- C语言实现的猴子偷桃之类算法
- 使用Android Studio 开发自己的SDK教程
- PHP网站备份程序代码分享
- jQuery 鼠标经过(hover)事件的延时处理示例
- Bootstrap页面布局基础知识全面解析
- Android中button的onClick事件几种方法
- Java多线程atomic包介绍及使用方法
