.NET中进程的基本使用

进程

一个应用程序就是一个进程,而一个进程又是由多个线程组成的。
进程帮助我们在内存中分配应用程序执行所需要的的空间
我们可已通过进程来直接操作应用程序

1、输出所有进程

using System;
using System.Diagnostics; //Process 
using System.IO; //Path

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            Process[] pro = Process.GetProcesses();
            foreach (var item in pro)
            {
                //item.Kilee();
                Console.WriteLine(item.ProcessName);
            }
            Console.ReadKey();
        }
    }
}



2、打开系统工具

using System;
using System.Diagnostics; //Process 
using System.IO; //Path

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            Process.Start("notepad");   //  记事本
            Process.Start("mspaint");   //  画图
            //Process.Start("iexplore");    ie浏览器
            //Process.Start("iexplore","http://wwwbaidu.cpm");
            //Process.Start("calc");    计算器

            Console.ReadKey();
        }
    }
}



3、打开指定路径的文件

using System;
using System.Diagnostics; //Process 
using System.IO; //Path

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            ProcessStartInfo psi = new ProcessStartInfo(@"D:\天健\SQLTracker\sqldbmon.exe");
            Process pro = new Process();
            pro.StartInfo = psi;
            //pro.StartInfo.UseShellExecute = true;
            pro.Start();

            Console.ReadKey();
        }
    }
}



4、小练习 (打开指定文件)

using System;
using System.Diagnostics;  //Process  需引用
using System.IO;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入要打开的文件所在的路径");
            string filePath = Console.ReadLine();
            Console.WriteLine("请输入要打开的文件名字");
            string fileName = Console.ReadLine();

            BaseFile bf = GetFile(filePath,fileName);
            if (bf!=null)
            {
                bf.OpenFile();
            }
            Console.ReadKey();
        }
        static BaseFile GetFile(string filePath, string fileName)
        {
            BaseFile bf = null;
            string strExtension = Path.GetExtension(fileName);
            switch (strExtension)
            {
                case ".txt":
                    bf = new TxtFile(filePath, fileName);
                    break;
                case ".avi":
                    bf = new AviFile(filePath, fileName);
                    break;
                case ".mp4":
                    bf = new MP4File(filePath, fileName);
                    break;
            }
            return bf;
        }
    }
    class BaseFile
    {
        //字段、属性、构造函数、函数、索引器
        private string _filePath;
        public string FilePath
        {
            get => _filePath;
            set => _filePath = value;
        }
        public string FileName { get; set; }
        public BaseFile()
        {
        }
        public BaseFile(string filePath, string fileName)
        {
            this.FileName = fileName;
            this.FilePath = filePath;
        }
        public void OpenFile()
        {
            ProcessStartInfo psi = new ProcessStartInfo(this.FilePath + "\\" + this.FileName);
            Process pro = new Process();
            pro.StartInfo = psi;
            pro.StartInfo.UseShellExecute = true;
            pro.Start();
        }
    }
    class TxtFile : BaseFile
    {
        public TxtFile(string filePath, string fileName) : base(filePath, fileName)
        {
        }
    }
    class MP4File : BaseFile
    {
        public MP4File(string filePath, string fileName) : base(filePath, fileName)
        {
        }
    }
    class AviFile : BaseFile
    {
        public AviFile(string filePath, string fileName) : base(filePath, fileName)
        {
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值