返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C# 如何获取当前进程或线程的ID
  • 153
分享到

C# 如何获取当前进程或线程的ID

2024-04-02 19:04:59 153人浏览 独家记忆
摘要

目录获取当前进程或线程的IDC# 进程读取方法获取当前进程或线程的ID 如果获得当前进程的Id用: Process[] processes = Process.GetProcesse

获取当前进程或线程的ID

如果获得当前进程的Id用:

Process[] processes = Process.GetProcesses(); 
foreach(Process process in processes) 
{ 
if(process.ProcessName == "进程名" 
{ 
MessageBox.Show(process.Id); 
} 
}
Process processes   =Process.GetCurrentProcess

processes.id获取当前进程的ID

如果获取当前线程的ID用:

Thread.CurrentThread.ManagedThreadId.ToString() (推荐)

AppDomain.GetCurrentThreadId().ToString()

C# 进程读取方法

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

GetProcesses()、Modules属性。

一些进程的属性信息:

  • Id // 进程唯一标识符 (Id)
  • Handle //关联进程的本机句柄 (Handle)
  • HandleCount //打开句柄数 (HandleCount)
  • BasePriority //关联进程的基本优先级
  • 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());
        }
    }
}

输出效果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C# 如何获取当前进程或线程的ID

本文链接: https://lsjlt.com/news/146563.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C# 如何获取当前进程或线程的ID
    目录获取当前进程或线程的IDC# 进程读取方法获取当前进程或线程的ID 如果获得当前进程的Id用: Process[] processes = Process.GetProcesse...
    99+
    2024-04-02
  • 小程序如何获取当前页面的id
    小程序获取当前页面id的案例:.wxml文件代码:          <block wx:for-items="{...
    99+
    2024-04-02
  • java怎么获取当前线程
    在Java中,可以通过以下两种方式获取当前线程: 使用Thread类的currentThread()方法:Thread类是Java...
    99+
    2023-10-26
    java
  • PHP返回当前线程的 ID
    这篇文章将为大家详细讲解有关PHP返回当前线程的 ID,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 PHP 中没有直接的方法来获取当前线程的 ID。这是因为 PHP 主要是一个单线程解释器,这意味着它...
    99+
    2024-04-02
  • java怎么获取当前线程名称
    可以通过Thread类的getName()方法来获取当前线程的名称。 示例代码如下: public class Main { ...
    99+
    2023-10-28
    java
  • 使用Java如何获取进程的ID
    这期内容当中小编将会给大家带来有关使用Java如何获取进程的ID,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先是获取当前Java运行的Java进程ID,这个是网上常见的,也就是Java程序自身将进程I...
    99+
    2023-05-31
    java 进程 ava
  • java如何获取当前程序路径
    Java中可以使用以下方法来获取当前程序的路径:1. 使用`System.getProperty("user.dir&qu...
    99+
    2023-09-27
    java
  • 如何获取更新剪贴板的应用程序的进程ID或名称?
    问题内容 我正在用 c# 创建剪贴板管理器,有时我会遇到剪贴板被某些应用程序设置为空的情况。 这发生在例如excel 取消选择刚刚复制的内容时,因此我需要确定剪贴板是否为空,但是如何获...
    99+
    2024-02-12
  • Java如何主动从当前线程获取异常信息
    目录Java主动从当前线程获取异常信息使用场景写法Java捕获并处理线程异常:Thread及ThreadPoolExecutor线程池异常捕获通过Thread.UncaughtExc...
    99+
    2022-11-13
    Java获取异常信息 线程获取异常 Java从线程获取异常
  • 小程序如何获取当前页面URL
    本篇内容介绍了“小程序如何获取当前页面URL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用getCurrentPages可以获取当前加载...
    99+
    2023-06-26
  • 如何在shell脚本中获取进程ID
    这篇文章给大家介绍如何在shell脚本中获取进程ID,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。shell脚本在执行时,会启动子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处...
    99+
    2023-06-28
  • C#如何获取当前主机的局域网IP
    文章目录 解决方案获取主机名获取IP地址过滤IPv4地址 函数函数调用运行结果 其他文章 解决方案 获取主机名 Dns 类提供了一组用于域名系统 (DNS) 操作的静态方法。 Dn...
    99+
    2023-10-25
    c# tcp/ip ip
  • autoit如何通过进程ID获取窗口句柄
    在AutoIt中,可以使用函数`WinGetHandle`通过进程ID获取窗口句柄。以下是示例代码:```autoit; 获取进程I...
    99+
    2023-08-08
    autoit
  • C#操作DataGridView获取或设置当前单元格的内容
    当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得。如果当前单元格不存在的时候,返回null。 取得当前...
    99+
    2024-04-02
  • Linux下获取线程id的方法总结
    方法总结说明 getpid() Linux系统调用,获取进程id,也是主线程id。 gettid() Linux系统调用,获取线程id。 C运行库没有封装这个接口…用syscall()方式调用。 在主线程中,getpid = getti...
    99+
    2023-08-18
    linux 服务器 c++ 开发语言 ubuntu
  • mysql如何查看当前进程
    要查看当前MySQL进程,可以使用以下两种方法: 使用MySQL自带的SHOW PROCESSLIST命令。可以登录到MySQL控...
    99+
    2024-04-17
    mysql
  • Shell脚本中获取进程ID的方法
    提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚...
    99+
    2022-06-04
    脚本 进程 方法
  • python中如何终止当前进程
    python中终止当前进程的方法:1、在win操作系统中找到python程序目录;2、打开idle工具;3、在idle中新建一个shell脚本;4、输入“import os”指令导入os模块;5、通过“os.exit()”指令终止当前进即可...
    99+
    2024-04-02
  • python如何获取当前系统的日期
    目录获取当前系统的日期datetime包获得当前日期时间datetime类strftime按指定格式输出字符获取当前系统的日期 python获取当前系统时间,主要通过Python中的...
    99+
    2024-04-02
  • vue如何获取当前点击的元素
    在vue中获取当前点击元素的方法:1.新建html项目,引入vue;2.插入div标签,绑定click事件;3.插入脚本标记,写入事件函数;具体步骤如下:首先,新建一个html项目,并在项目中引入vue;<!DOCTYPE ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作