zoukankan      html  css  js  c++  java
  • c#进程操作

           //System.Diagnostics.Process p = new System.Diagnostics.Process();
                //p.StartInfo.FileName = @"C:Program Files (x86)TencentWeChatWeChat.exe";
                //p.StartInfo.UseShellExecute = false;    //是否使用操作系统shell启动
                //p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
                //p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
                //p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
                //p.StartInfo.CreateNoWindow = true;//不显示程序窗口
                //p.Start();//启动程
    
                Process[] processes = Process.GetProcesses();
                foreach (Process item in Process.GetProcesses())
                {
                    if (item.ProcessName.Contains("WeChat"))
                    {
                        item.StartInfo.FileName = @"C:Program Files (x86)TencentWeChatWeChat.exe";
                        item.StartInfo.UseShellExecute = false;    //是否使用操作系统shell启动
                        item.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
                        item.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
                        item.StartInfo.RedirectStandardError = true;//重定向标准错误输出
                        item.StartInfo.CreateNoWindow = true;//不显示程序窗口
                        item.Start();//启动程序
                    }
                }
    

    启动

     private void StartQueueExe()
            {
                string filePath = AppDomain.CurrentDomain.BaseDirectory;
                FileInfo file = new FileInfo(filePath);
                //filePath = file.Directory.Parent.Parent.FullName + "\ZB.QueueSystem\ZB.QueueSystem.exe";
                filePath = file.Directory.FullName + "\ZB.QueueSystem\ZB.QueueSystem.exe";
    
                System.Diagnostics.Process p = new System.Diagnostics.Process();
                p.StartInfo.FileName = filePath;
                p.StartInfo.UseShellExecute = false;    //是否使用操作系统shell启动
                p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
                p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
                p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
                p.StartInfo.CreateNoWindow = true;//不显示程序窗口
                p.Start();//启动程序
            }

    停止

    private void KillProcessExists()  
    {  
        Process[] processes = Process.GetProcessesByName("AppStart");  
        foreach (Process p in processes)  
        {  
            if (System.IO.Path.Combine(Application.StartupPath, "AppStart.exe") == p.MainModule.FileName)  
            {  
                p.Kill();  
                p.Close();  
            }  
        }  
    }  

         /// <summary>
            /// 关闭进程
            /// </summary>
            /// <param name="processName">进程名</param>
            private void KillProcess(string processName)
            {
                Process[] myproc = Process.GetProcesses();
                foreach (Process item in myproc)
                {
                    if (item.ProcessName == processName)
                    {
                        item.Kill();
                    }
                }

            }

     

    查看是否存在指定进程:

    private bool CheckProcessExists()  
    {  
        Process[] processes = Process.GetProcessesByName("test");  
        foreach (Process p in processes)  
        {  
            if (System.IO.Path.Combine(Application.StartupPath, "test.exe") == p.MainModule.FileName)  
                return true;  
        }  
        return false;  
    }  
  • 相关阅读:
    Go实现线程池
    Go语言工程结构
    Go语言示例-函数返回多个值
    Go语言参数中的三个点是干什么的
    go语言示例-Timer计时器的用法
    Go语言的类型转化
    iOS 修改通讯录联系人地址(address)崩溃原因分析
    tableview小结-初学者的问题
    Objective-C总Runtime的那点事儿(一)消息机制
    论坛源码推荐(11.6):iPhone6/6 plus屏幕适配Demo,Java代码转Objective-C
  • 原文地址:https://www.cnblogs.com/YYkun/p/5919191.html
Copyright © 2011-2022 走看看