`

C# Process 类的思考

    博客分类:
  • C#
阅读更多

在这里,我先给自己留个印象

下面我们用C#实现一个调用Dos命令的小程序,让大家对系统进程能有个直观的了解.要使用Process类,首先要引入System.Diagnostic命名空间,然后定义一个新的Process类,将其制定为打开一个Cmd.exe的命令,然后根据其的StanderInput和StanderOutput对其进行命令的输入和信息的读出.具体程序如下:

Process p=new Process();

p.StartInfo.FileName="cmd.exe"; //设置启动的进程命令

/**设置是否标准输入输出和标准错误,当这些都设为true时

**UseShellExcute必须为 false*/

p.StartInfo.UseShellExcute=false;

p.StartInfo.RedirectStanderInput=true;  

p.StartInfo.RedirectStanderOutput=true;  

p.StartInfo.RedirectStanderError=true;   

p.StartInfo.CreatNoWindows=true;

p.start();

//向Dos窗口中输入ping的命令,这里的IP值请自己设置

p.StandardInput.WriteLine("ping -n 1 "+IP);

//输入退出窗口的命令

p..StandardInput.WriteLine("Exit");

/**这里用ReadToEnd读出输出并将其赋给一个string值,这里要

**注意的是ReadToEnd这个命令是在调用的程序结束后才可以执行的,所以

**要是把这句放在上面的"Exit"之后,程序就会进入一个死循环*/

string output= p.StandardOutput.ReadToEnd();

主要的工作已经完成了,下来就看你怎样利用程序的输入输出来完成一些功能了.

 

在这里我也写了一个实现:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Process process = new Process();
            string strBatPath = "E:/test.bat";
            string mess = ExecuteBAT(strBatPath, process);
            Console.WriteLine(mess);
            Console.ReadKey();

        }
        private static string ExecuteBAT(string strBatPath, Process pro)
        //文件路径;要执行bat文件的进程,返回执行结果
        {
            string mess = "";

            try
            {
                pro.StartInfo.UseShellExecute = true;
                //strBatPath是bat文件路径
                pro.StartInfo.FileName = strBatPath;
                pro.StartInfo.CreateNoWindow = true;
                if (pro.Start())
                {
                    //写日志文件
                    mess = DateTime.Now.ToLongDateString() + "  " + strBatPath + "执行成功";
                }
                else
                {
                    mess = string.Format("执行{0}失败.", strBatPath);
                }
            }
            catch (Exception ex)
            {
                mess = ex.Message;
            }
            finally
            {
                pro.Close();
            }
            return mess;
        }


    }
}

 现在 在写一个读入文件的C#方法

 public static void printFile(string strFileName)
        {
            StreamReader srd;
            try
            {
                srd = File.OpenText(strFileName);

            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("File not read");
                return;
            }
            while(srd.Peek()!=-1)
            {
                string str = srd.ReadLine();
                Console.WriteLine(str);
            }
            Console.WriteLine("End of read");
            srd.Close();
        }
        public static void InputFile(string strFileName)
        {
            StreamWriter swt;
            try
            {
                swt = File.CreateText(strFileName);

            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("File not Write");
                return;
            }
            swt.WriteLine("chenhailong");
            swt.Close();

        }

 

0
5
分享到:
评论

相关推荐

    C#process类的使用

    总的来说,`C#`的`Process`类是一个强大的工具,涵盖了进程管理的各个方面。无论是简单的启动应用程序,还是复杂的进程监控和控制,它都能满足需求。在实际开发中,正确使用`Process`类可以帮助我们更好地理解和操控...

    C#process 打开指定目录

    下面我们将详细讨论如何使用C#的`Process`类来实现这个功能。 C#中的`System.Diagnostics.Process`类是用于控制和监控外部进程的重要工具。它允许我们启动、停止进程,以及与它们进行通信。在“C# process 打开指定...

    process类 任务管理器 完整c#代码源码

    在C#编程中,`Process`类是System.Diagnostics命名空间中的一个重要组成部分,它为我们提供了管理和控制操作系统进程的能力。本文将详细解析`Process`类在任务管理器中的应用,包括新建任务、结束任务、资源管理、...

    ShowProcessID.rar_c# process类

    在.NET框架中,C#语言提供了丰富的类库来支持系统级别的操作,其中之一就是`System.Diagnostics.Process`类。这个类主要用于管理和控制操作系统中的进程,包括获取进程列表、监视进程资源使用情况以及与进程进行交互...

    C#中利用process类调用外部程序以及执行dos命令

    在C#编程中,`System.Diagnostics.Process` 类是用于与外部进程交互的重要工具。通过这个类,我们可以启动、控制和管理应用程序,甚至可以执行DOS命令。以下将详细阐述如何利用`Process`类来调用外部程序并执行DOS...

    C#调用DOS命令。Process类的用法

    在.NET框架中,C#提供了一种方便的方式来与操作系统交互,包括执行DOS命令,这就是通过使用`System.Diagnostics.Process`类。本篇文章将详细介绍如何利用`Process`类在C#中调用DOS命令,以及相关的核心概念和步骤。 ...

    C# 关闭进程 KillProcess

    在C#中,我们可以使用System.Diagnostics命名空间下的Process类来操作进程,包括获取进程信息、管理进程的生命周期等。 1. **获取进程列表**:要遍历所有正在运行的进程,可以使用`Process.GetProcesses()`方法。这...

    c#利用进程(Process)调用系统应用程序源码

    在C#编程中,进程(Process)类是用于与操作系统中的执行程序进行交互的主要工具。这个类位于System.Diagnostics命名空间中,提供了启动、管理和控制进程的能力。本文将深入探讨如何利用C#的Process类来调用系统应用...

    c# 调用外部程序,Process初体验

    在C#编程语言中,通过使用`System.Diagnostics.Process`类可以轻松实现调用外部程序的功能。根据提供的文件信息,本文将详细介绍如何利用`Process`类来执行DOS命令,并深入探讨其中涉及的关键概念和技术细节。 ### ...

    C#的Process类调用第三方插件实现PDF文件转SWF文件

    在C#编程中,`System.Diagnostics.Process`类是用于管理和控制操作系统进程的关键工具。这篇文章将深入探讨如何利用这个类调用第三方插件,比如SWFTools,将PDF文件转换为SWF文件。首先,让我们详细了解`Process`类...

    C#使用Process类调用外部exe程序

    在C#中,通过Process类来进行进程操作。 Process类在System.Diagnostics包中。 示例一 代码如下:using System.Diagnostics; Process p = Process.Start(“notepad.exe”); p.WaitForExit();//关键,等待外部程序...

    C# SqlHelper类 (微软官方)

    这个类通常被用在C#应用程序中,以执行SQL命令和存储过程。SqlHelper类的设计目标是提高代码的可重用性和安全性,通过参数化查询来防止SQL注入攻击。 SqlHelper类位于`System.Data.SqlClient`命名空间下,它是ADO...

    C#实体类自动生成工具

    C#实体类自动生成工具是一种高效开发辅助工具,主要用于简化C#编程中常见的数据模型类创建过程。在软件开发中,实体类通常用于映射数据库表结构,它们封装了数据并提供了一些基本操作。手动创建这些类可能会耗费大量...

    C# 开发中常用的类大全,C#类

    最全的C#常用开发类,cs文件,使用起来非常方便。大约有100多个常用类,

    C#调用process执行DOS命令间接调用其他软件或进程

    C#调用process执行DOS命令,间接调用其他软件或进程

    打开网页C#源代码程序System.Diagnostics.Process.Start

    在C#编程中,`System.Diagnostics.Process.Start`方法是一个非常常用的功能,用于启动一个外部进程,比如打开一个网页。这个方法允许开发者通过编程的方式控制操作系统执行各种任务,比如浏览网页、打开文档、运行...

    C#调用C++DLL导出类

    本文将详细介绍如何在C#中调用C++DLL中的类,以及如何在C#端重新封装这些类以便调用。 首先,理解C++DLL的导出类机制。在C++中,我们可以通过`__declspec(dllexport)`或`__declspec(dllimport)`关键字来导出或导入...

    winform c# ProgressBar特殊样式style

    在描述中提到的"控件增加了若干种彩色样式",这可能意味着存在一个第三方库或者自定义控件,如`ExtendedDotNET.Controls.dll`中的类或组件,提供了预设的多种颜色主题。这个库可能包含了一系列预定义的进度条样式,...

    C#用户、进程监控用户、进程监控

    总结来说,用户和进程监控在C#中主要依赖.NET Framework提供的类和接口,如System.Security.Principal和System.Diagnostics.Process。通过合理使用这些工具,开发者可以构建出强大、灵活的监控系统,以确保软件系统...

    process.StandardOutput.ReadToEnd 卡死解決方法! 新方法!

    最近做一个编程,用C#调用类似ssh,ftp,runas,adb shell之类有中间输入,中间输出的.网上说使用Process.StartInfo,Process.StandardInput,Process.StandOutput之类的,但是每次都在StandardOutput.Read/ReadToEnd卡死,...

Global site tag (gtag.js) - Google Analytics