首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#中确定当前关注的进程名称和版本

在 C# 中确定当前关注的进程名称和版本的方法有很多种。这里提供一种简单的方法:使用 Process 类的相关信息。以下是一个示例:

首先,需要使用 C# 的 System.Diagnostics.Process 类和 System.IO 来实现这个功能。

  1. 通过反射获取程序集名称

首先,通过反射获取程序集的名称。

代码语言:csharp
复制
Assembly assembly = Assembly.GetEntryAssembly();
string program AssemblyTitle = assembly.GetName().Name;
string program AssemblyDescription = assembly.GetName().Version.ToString();
AssemblyName an = AssemblyName.GetAssemblyName(Assembly.GetEntryAssembly().Location);
string AssemblyTitleAndDescription = AssemblyTitle + "-" + AssemblyDescription;
  1. 使用 Process 类获取相关信息

接下来,可以获取正在运行的进程的名称和版本信息。

代码语言:csharp
复制
Process[] processes = Process.GetProcessesByName("your_application_name");
foreach (Process process in processes)
{
 string processName = process.MainWindowTitle;
 if (processName == "")
 {
  processName = process.ProcessName.ToLower();
 }

 string processVersion = "";
 ProcessModule[] modules = process.Modules;

 foreach (ProcessModule module in modules)
 {
  Version version = Assembly.GetEntryAssembly().GetName().Version;
  if (module.ModuleName == an.Name.ToLower() && module.ModuleName == an.EntryPoint.ToLower() && module.FileVersion == version.ToString())
  {
   processVersion = version.ToString();
   break;
  }
 }
}

其中 your_application_name 是你想要查找的程序的名称。

这样,你就可以获取到进程的名称(标题栏上的标题显示的名称)和版本信息。

推荐腾讯云相关产品:

  • 企业官网云产品:例如,Tencent Cloud AppSolution(应用解决方案)、Tencent Cloud Website Plus(网站 Plus)等提供一站式的应用程序的部署和解决方案。

例如,Tencent Cloud AppSolution 为各种类型的应用程序提供了一站式的解决方案,包括应用程序构建、部署、监控和管理。该服务提供了许多开箱即用的工具,包括编译和部署工具以及容器服务,可以帮助开发人员快速建立应用程序和服务。

产品地址:https://www.qcloud.com/solution/app

类似地,对于网站服务和管理,Tencent Cloud Website Plus 提供了一站式的解决方案,包括网站构建、部署、监控和管理。该服务提供了一些开箱即用的工具,包括编译和部署工具、防火墙和负载均衡服务等,可以帮助开发者快速建立高效、安全和可靠的网站解决方案。

产品地址:https://www.qcloud.com/solution/website

代码语言:txt
复制
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

必备 .NET - C# 异常处理

您可以在其中了解 Microsoft .NET Framework 领域的所有最新动态,无论是 C# vNext 的最新进展(当前是 C# 7.0)、改进的 .NET 内部结构,还是 Roslyn 和...在将异步添加到 C# 5.0 语言时,这是无法实现的。此外,之前五版 C# 和相应的 .NET Framework 中也有其他许多变更,在某些情况下这些变更非常重要,需要对 C# 编码指南进行编辑。...在实践中,catch(System.Exception) 块和常规 catch 块(本文通常称为 catch System.Exception 块)都是可以避免的,只需在关闭进程前记录异常即可,“处理”...总结 在本文中,我介绍了更新后的异常处理指南(与捕获异常有关),主要是由于过去几个版本中的 C# 和 .NET Framework 改进才需要更新的。...若要回顾这些指南的详细信息,请转至 itl.tc/ExceptionGuidelinesForCSharp。在未来的专栏中,我打算更加关注异常引发指南。

2.4K60
  • 一个实用的却被忽略的命名空间:Microsoft.VisualBasic

    虽然是为了VB而建的,但并不妨碍我们在C#中使用它。   ...对于本地计算机资源的使用,我们可能会着重关注Microsoft.VisualBasic.Devices命名空间,在这里包含了与本机设备和操作系统相关的资源。...下面,我们将通过几种典型的应用了解下如何在C#代码中使用这些资源。...获取操作系统与内存信息 为了实现本功能,我们使用了ComputerInfo类,下面代码显示当前计算机的系统名称和版本,以及内存相关的信息。...如果你需要得到更多关于Windows的相关信息,如计算机名称(ComputerName)、当前登录名 (UserName)等,可以使用位于System.Windows.Forms命名空间中的SystemInformation

    2.1K60

    .NET周报【1月第2期 2023-01-13】

    对,就是文件的意思,file是只能用来定义类型的访问修饰符,不能定义类型中的类成员,即使嵌套类也不可以。file是用来定义使用范围最小的类型访问修饰符,只限于在当前文件中,其他类型的成员内访问。...这个版本包括对压力检测的支持,基于GPU的渲染和图像处理,一个新的效果插件系统和各种性能的提升和改进。...该版本解决了zlib中的一个漏洞,并修复了几个bug。.../ 解释了我们在将ReSharper移至与Visual Studio分开的进程中(进程外)运行时遇到的障碍和正在做的事情。...议程(PDF) 【日文】确定你是否不需要管理员权限就能在C#中写入文件夹 - Qiita https://qiita.com/Alone-and-Slow/items/a2332bcb500051e19fbc

    2.7K20

    .NET周刊【6月第3期 2024-06-23】

    本文介绍了如何在以System身份运行的.NET程序中,以其他活动用户身份启动可交互式进程。...作者以GitLab流水线为例,使用C#和PowerShell实现了这一需求。随后给出了具体的代码示例,包括如何获取当前活动会话的用户令牌,复制令牌,以及设置程序的启动参数。...第一种方法使用图片编辑工具如Photoshop修改背景图片并替换。第二种方法通过GDI+动态绘制系统名称,利用配置文件中的系统名称信息,在窗口的Paint事件中绘制。...具体实现步骤包括创建项目目录、生成PackageInfo.cs文件以保存版本信息,通过代码展示如何在生成目录文件中实现版本信息输出。...for .NET 进程进行远程调试的支持版本更改。

    11510

    .NET周刊【9月第2期 2024-09-08】

    设计模式分类为创建型、结构型和行为型模式。创建型模式关注对象创建过程,包括单例模式、工厂方法等。结构型模式关注类或对象的组合,如适配器、装饰器等。行为型模式着重对象间通信,如策略模式、观察者模式等。...C#自定义控件—指示灯 https://www.cnblogs.com/guoenshuo/p/18397557 本文介绍了如何在C#中利用GDI绘制指示灯控件。...C#自定义控件—流动管道 https://www.cnblogs.com/guoenshuo/p/18391637 这篇文章介绍了如何在C#中绘制一个动态流动管道,包括管道的渐变色矩形和半圆的绘制,以及流动条的绘制方法...详细说明了安装方法和在Program.cs和Startup.cs中的使用步骤,以及它支持的验证器和版本兼容性。...主要内容包含纯定义属性及其相关代码,包括字体、文本颜色、变量名称、变量值、单位和控件刻度,并提供了文本设定的入口、离开及按键事件的方法。

    8310

    .NET周刊【3月第1期 2024-03-03】

    该组件支持动态数组公式,通过 C#(.NET Core)项目创建工作簿,提取和解析公式,进而修改公式中的特定参数,如替换销售代表姓名。...C#的系统菜单添加自定义项 - 开源研究系列文章 https://www.cnblogs.com/lzhdim/p/18047745 这篇文章介绍了如何在 C#应用程序系统菜单中添加自定义项的方法,并提供了示例代码和运行效果截图...此版本添加了向连接库名称添加后缀的功能,以及即使在空闲时也可以执行保活检查的选项。...此版本包括更快的重命名、改进了 C# 异步方法中一次性资源的处理、代码格式化和反编译器改进、对 dotMemory 内存分析中的冻结对象堆的支持等等。...一个关于尝试将 Google 基于机器学习的文件类型确定工具 Magika 从 Python 移植到 C# 的故事。

    21810

    .NET周刊【12月第1期 2023-12-06】

    介绍了两种 JSON 序列化库:内置的 System.Text.Json 和功能强大的 Newtonsoft.Json。文章指出,可以全局配置 Json 属性名称序列化方式和日期格式,以满足前端需求。...关键性能计数器包括 Web 服务的当前连接数、每秒请求数等,ASP.NET 的请求执行时间、请求排队数等,以及 CPU 和内存的使用情况。...IIS 请求队列是处理前临时存放请求的地方,监控请求队列的性能计数器有助于优化队列设置,如增加工作进程数、优化代码和调整队列长度,以减少等待时间,确保请求快速处理。...p=1975 C# 2023 年降临节日历第 2 天文章。如何在 C# 代码格式设置中设置大括号之前和之后的开口。...如何在桌面应用程序中包含最小的 ASP.NET Core 服务器。

    26710

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    如何在编译时加载两个相同的程序集 如何同时调用两个两个相同命名空间和类型的程序集?...,如C#调用C++代码,C++抛出一个string类型的异常),在C#2.0之前Catch(Exception)是捕捉不了的,但之后的版本可以。...程序入口方法 2)CLR版本号等一些标志 3)一个可选的强名称数字签名 4)元数据表,主要用来记录了在源代码中定义和引用的所有的类型成员(如方法、字段、属性、参数、事件...)的位置和其标志Flag(各种修饰符...第一种:通过bindingRedirect节点重定向,即当找到10.0的版本时,给定向到6.0版本 如何在编译时加载两个相同的程序集?...而在.NET Framework中,这主体可以是Windows账户,也可以是自定义的标识,通过生成如当前线程或应用程序域使用的主体相关的信息来支持授权。

    2.8K63

    .NET周刊【10月第2期 2024-10-13】

    项目提供详细的接口文档和多项高级功能,如Auth授权、接口限流、获取客户端真实IP及动态API等。特别适用于非技术人员,支持各平台的应用程序版本,易于部署和使用。...由C#开发,解决其它工具无法满足的特定需求,完全免费且开源。主要功能包括名称混淆、控制流混淆、字符串和资源加密等。...使用NModbus4,开发者无需关注协议细节,只需在库基础上进行简单封装即可实现串口或以太网通信。文章提供了具体的代码示例,展示了如何打开和关闭串口或TCP连接,以及读取保持寄存器和输出线圈的方法。...WPF中的ListBox怎么添加删除按钮并删除所在行 https://www.cnblogs.com/lvpp13/p/18454644 本文讲解如何在C#中使用数据绑定和命令删除列表项。...不同语言(如C、C#、Go、Python)的代码可以通过编译工具转译为WASM文件,在浏览器环境中执行,这展示了WebAssembly的多语言兼容性和实用性。

    9610

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

    在项目开发过程中,有时会需要用到调用第三方程序实现本系统的某一些功能,例如本文中需要使用到的swftools插件,那么如何在程序中使用这个插件,并且该插件是如何将PDF文件转化为SWF文件的呢...接下来就会做一个简单的介绍。     在.NET平台中,对C#提供了一个操作对本地和远程的访问进程,使能够启动和停止系统进程。...一.解析System.Diagnostics.Process类       在C#中使用Process类可以提供对本地和远程的访问进程,使能够启动和停止系统进程,并且该类可以对系统进程进行管理。...///如果句柄存储在当前进程对象中,则使用它。          ///注意,我们存储在当前进程对象中的句柄将具有我们需要的所有访问权限。...中如何操作外部程序和线程的类System.Diagnostics.Process,并介绍了该类的一些常用方法的底层实现代码,如果需要对该类进行详细的了解,可以根据MSDN和.NET底层源码的相关注释和文章进行细致的学习

    1.6K60

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    ,如C#调用C++代码,C++抛出一个string类型的异常),在C#2.0之前Catch(Exception)是捕捉不了的,但之后的版本可以。...除了程序集版本不同外,还有一种情况就是,我一个项目同时引用了程序集A和程序集B,但程序集A和程序集B中的命名空间和类型名称完全一模一样,这个时候我调用任意一个类型都无法区分它是来自于哪个程序集的,那么这种情况我们可以使用...既然是共享存放的位置,那不可避免的会遇到文件名重复的情况,那么为了杜绝该类情况,规定在GAC中只能存在强名称程序集,每当CLR要加载强名称程序集时,会先通过标识去GAC中查找,而考虑到程序集文件名称一致但版本文化等复杂的情况...而在.NET Framework中,这主体可以是Windows账户,也可以是自定义的标识,通过生成如当前线程或应用程序域使用的主体相关的信息来支持授权。...) 2.在高级生成设置中有:语言版本(可以选择C#版本)、调试信息(相当于csc中的/debug。

    4.6K30

    .NET周刊【7月第2期 2024-07-14】

    Blazor是一种新兴的Web应用框架,利用C#编程语言可提高开发效率和用户体验。文章还提供了相关的开源地址和在线文档,并推荐读者关注C#/.NET领域的优秀项目和框架精选。...新版本包括性能改进和新特性,如增强的AI能力、优先级无界通道、子字符串搜索以及更灵活的OpenTelemetry活动链接。...实施依赖注入有助于降低耦合度、提高灵活性、促进关注点分离等。文章进一步通过具体代码演示了如何在WPF项目中配置和实现依赖注入。...C#使用SendMessage进行进程间通讯 https://www.cnblogs.com/wihalo/p/18293731 本文介绍了一种在WPF应用中实现拖动文件到桌面图标并自动打开的方法。...ECMAScript定义了JavaScript语言的核心,JavaScript广泛用于Web和前端开发。C#语言当前最新版本为2023年发布的ECMA-334第7版,主要用于.NET框架下开发。

    15710

    .NET周刊【11月第3期 2024-11-17】

    重点在于理解 Pytorch 的数据类型及其与编程语言基本类型的区别。文章提供了如何在 Python 和 C# 中打印数组的示例,并解释了不同打印方式的优缺点。...首先,新建MVC项目,并在Program.cs中配置支持的文化信息,如“zh-CN”和“en-US”。通过RequestLocalizationOptions设置默认请求文化和支持的文化。...、当前周的周一和周日的方法。...开源 - Ideal库 -获取特殊时间扩展方法(四) https://www.cnblogs.com/hugogoos/p/18539591 文章介绍了如何在C#中获取当前日期所在月的第一个和最后一个指定星期几的方法...用户可定义特性如ColumnDataType或PasteMarkDown,以实现富文本或Markdown输入。提交信息中反映内容设定中的参数配置,如args2字段可隐藏,以保数据传递后台。

    8410

    VSCode下配置Blazor环境 & 断点调试Blazor项目

    VSCode下使用Blazor的环境配置和插件推荐Blazor是一种用于构建交互式Web UI的.NET框架,它可以让你使用C#、Razor和HTML进行Web开发,而不需要JavaScript。...在这篇文章中,我们将介绍如何在VSCode中配置Blazor环境,并推荐一些有用的插件。环境配置1. 安装.NET Core SDK首先,你需要安装.NET Core SDK。...安装C#插件在VSCode中,打开扩展视图并搜索"C#",然后安装由Microsoft发布的C#插件。4....Views": "${workspaceFolder}/Views", "/wwwroot": "${workspaceFolder}/wwwroot" } } ]}请根据你的项目名称和目标框架...常见问题无法启动调试:确保你的项目可以正常构建,并且没有其他进程占用相同的端口。断点未命中:确保你在调试模式下运行,并且代码已编译为调试版本。

    11600

    C# 指标

    要在 Counter 和 ObservableCounter 之间进行选择,具体要考虑其中哪一个更容易添加到现有代码中:是对每个增量操作的 API 调用,还是从代码维护的变量中读取当前总计数的回调。...要在它们之间进行选择,具体要考虑其中哪一个更容易添加到现有代码中:是对每个增量和减量操作的 API 调用,还是从代码维护的变量中读取当前值的回调。...不同检测类型的示例 停止前面启动的示例进程,并将 Program.cs 中的示例代码替换为: C# using System; using System.Diagnostics.Metrics; using...停止前面启动的示例进程,并将 Program.cs 中的示例代码替换为: C# using System; using System.Diagnostics.Metrics; using System.Threading...如果在不同的指标或其他遥测记录中重用标记名称,则无论用于何处,它们应具有相同的含义和法律意义。

    21320

    .NET周刊【5月第3期 2024-05-19】

    面临的问题是晚间 MongoDB、SQL Server 和 WebAPI 进程 CPU 使用率暴增,导致数据处理不及时。...Azure Service Bus 等组件的属性名称更新以更清晰表达其含义。仪表板更新增强了视觉效果和多语言支持,容器镜像默认设置现在包含更完整的注册中心和标签信息。...BaseModel 继承自 PageModel,通过检查请求数据或 Cookie 来确定访问的有效性,无效访问将弹出错误提示,并中断页面加载和回发事件。...创建一个传出请求需要目标服务地址、操作名称、请求字段和有效负载等信息,其中请求字段和有效负载对管道内通信至关重要。文章还展示了序列图来解释请求有效负载的发送过程。...区分联合:是什么驱动了 C# 社区的关注?

    12300

    .NET周刊【2月第3期 2024-02-25】

    进一步研究,确定这些对象因MethodTable被损坏而出错,作者还用临近内存的数据排查问题,最后通过相关字段验证了堆的一致性。 C# 12 中新增的八大功能你都知道吗?...在 C# 源文件中,可以通过编写由三斜杠表示的特殊注释字段,在代码中建立类库所需的 API 文档。...更新中添加推荐组件 调试和诊断 使用条件断点和跟踪点增强调试 简化内存工具中的内存使用情况调查 EXE 的目标检测 改进了“附加到进程”对话框 C++和游戏开发 CMake目标固定 构建见解模板视图 添加了虚幻引擎宏的缩进...本文讨论了使 Visual Studio 和设计器兼容 64 位、迁移到进程外设计器、使设计器成为 32 位 .NET Framework 应用程序进程外的优点和困难,以及发生的情况到 17.9。....NET 进程中。

    19210
    领券