ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

C# 进程读取方法

2021-09-26 08:32:07  阅读:112  来源: 互联网

标签:读取 C# Items lbProcess System currentProcess 进程 using


首相要加入using System.Diagnostics;命名空间。

GetProcesses()Modules属性。一些进程的属性信息:

  1. Id // 进程唯一标识符 (Id)
  2. Handle //关联进程的本机句柄 (Handle)
  3. HandleCount //打开句柄数 (HandleCount)
  4. BasePriority //关联进程的基本优先级
  5. StartTime //进程启动时间
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;//包含进程相关

namespace ProccessEx
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Process[] processes = null;

        private void btnGetProcessess_Click(object sender, EventArgs e)
        {
            processes = Process.GetProcesses();// 获取本地计算机上的进程

            this.lbProcess.Items.Clear();
            foreach (Process item in processes) {
                this.lbProcess.Items.Add(item.ProcessName);
            }
        }

        private void lbProcess_Click(object sender, EventArgs e)
        {

            if (lbProcess.Items.Count == 0) return;
            else {
                lbModels.Items.Clear();
            }
            Process currentProcess = processes[lbProcess.SelectedIndex]; // SelectedIndex 属性
            try {
                ProcessModuleCollection modules = currentProcess.Modules; // Mpdules 属性
                foreach (ProcessModule item in modules) {  // 注意是 ProcessModule 类型
                    lbModels.Items.Add(item.FileName);
                }
                // 显示当前进程的基本信息
                string info = "进程唯一标识符 (Id):" + currentProcess.Id + "\r\n\r\n";
                info += "关联进程的本机句柄 (Handle):" + currentProcess.Handle + "\r\n\r\n";
                info += "打开句柄数 (HandleCount):" + currentProcess.HandleCount + "\r\n\r\n";
                info += "关联进程的基本优先级:" + currentProcess.BasePriority + "\r\n\r\n";
                info += "进程启动时间:" + currentProcess.StartTime + "\r\n\r\n";

                txtProcessInfo.Text = info;
            }
            catch (Exception ex) {

                MessageBox.Show(ex.Message);
            }
        }

        private void btnKill_Click(object sender, EventArgs e)
        {
            if (lbProcess.Items.Count == 0 || lbProcess.SelectedIndex == -1) return;

            Process currentProccess = processes[lbProcess.SelectedIndex];// 获取当前鼠标选择的进程
            currentProccess.Kill();// 杀掉进程
            currentProccess.Close();// 释放进程资源

            lbProcess.Items.RemoveAt(lbProcess.SelectedIndex);

            lbModels.Items.Clear();
            txtProcessInfo.Clear();
        }

        /// <summary>
        /// 用360浏览器打开我的博客
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOpenIE_Click(object sender, EventArgs e)
        {
            // 没注册就使用绝对路径
            // 打开我的博客
            Process.Start(@"C:\Users\Administrator\AppData\Roaming\360se6\Application\360se.exe", "blog.huvjie.com");
        }
        /// <summary>
        /// 打开新进程,如:notepad
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStartnew_Click(object sender, EventArgs e)
        {
            Process.Start(txtProcessFileName.Text.Trim());
        }
    }
}

输出效果:

标签:读取,C#,Items,lbProcess,System,currentProcess,进程,using
来源: https://www.cnblogs.com/huvjie/p/15336375.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有