首页 / 知识
关于winforms:如何查找使用c#运行的进程?
2023-04-14 15:38:00

How do I find out if a process is already running using c#?我有C#winforms应用程序,该应用程序需要不时启动一个外部exe,但是我不希望启动另一个进程(如果已经在运行),而是切换到该进程。 那么在下面的示例中,如何在C#中做到这一点?
这应该为您做。 检查流程
您也可以使用LINQ,
我已经在VB运行时中使用AppActivate函数来激活现有进程。
您可以简单地使用Process.GetProcesses方法枚举进程。 我发现Mutex不能像在Console应用程序中那样工作。因此,使用WMI查询可以在"任务管理器"窗口中看到的进程将解决您的问题。 使用这样的东西:
注意:添加程序集引用" System.Management"以启用类型的智能。 请记住两个注意事项:
您的示例涉及放置一个
枚举过程时,询问 在过去的项目中,我需要阻止一个进程的多次执行,因此我在该进程的init部分中添加了一些代码,以创建一个命名的互斥体。在继续其余过程之前,已创建并获取了此文本。如果该进程可以创建并获取互斥锁,则它是第一个运行的互斥锁。如果另一个进程已经控制了互斥锁,那么失败的不是第一个,因此它会立即退出。 由于对特定硬件接口的依赖性,我只是试图阻止第二个实例运行。根据"切换到"行的需要,您可能需要更具体的解决方案,例如进程ID或句柄。 另外,我可以访问试图启动的过程的源代码。如果您无法修改代码,则添加互斥锁显然不是一种选择。 我认为要完全解决您的问题,需要了解您的应用程序确定foo.exe实例已在运行时发生的情况,即" // TODO:切换到foo.exe进程"的实际含义是什么?
|
最新内容
相关内容
linux退出启动命令行?
linux退出启动命令行?,系统,状态,档案,平台,命令,环境,模式,终端,程序,编辑,linux如何退出命令操作界面1、在Linux系统中,按下Ctrl+Alt+F2可以linux进程运行命令?
linux进程运行命令?,系统,工作,状态,地址,信息,进程,基础,命令,管理,软件,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作命进程管理linux命令?
进程管理linux命令?,系统,管理,地址,状态,情况,简介,工具,网络,分析,软件,linux操作系统如何进程管理.内存管理.设备管理1、Linux内核 内核是linux中启动服务命令?
linux中启动服务命令?,服务,系统,命令,信息,工作,设备,网络,标准,名称,密码,linux如何启动服务1、具体步骤如下:首先,我们需要修改mysql的配置文linux显示运行命令?
linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如何查看linux服务器运行状态?1、linux怎么查看服务器状态?我们一起linux运行vim命令?
linux运行vim命令?,系统,工具,官方网站,模式,基础,数据,代码,环境,入口,命令,如何使用Linux系统中的Vim编辑器1、vim编辑器的三种模式:一般模式linux永久启动命令?
linux永久启动命令?,系统,服务,密码,软件,工具,电脑,位置,环境,状态,发行,linux永久开启防火墙路由转发首先在命令行输入:cat/proc/sys/net/ipvlinux命令行启动软件?
linux命令行启动软件?,系统,工具,软件,位置,密码,电脑,首页,代码,环境,地方,linux怎么打开命令行窗口1、在Linux系统中,打开命令行窗口需要使用linux下看进程命令行?
linux下看进程命令行?,系统,情况,软件,服务,状态,名称,环境,进程,命令,数据,哪些命令可以查看进程在 Linux 系统中,我们可以使用 ps 命令来查看linux监控命令运行?
linux监控命令运行?,系统,工作,地址,信息,工具,情况,标准,环境,命令,状态,linux服务器监控的几个方法和命令uptime 该命令直观的显示了服务器linux中命令停止运行?
linux中命令停止运行?,系统,代码,第一,命令,进程,指令,程序,方法,接线,硬盘,linux怎么停止当前命令首先,连接相应linux主机,进入到linux命令行状linux命令设置自启动?
linux命令设置自启动?,服务,系统,信息,数字,检测,工具,状态,密码,跨行,脚本,linux下通过脚本实现自动重启程序自动重启脚本 假定需要实现重启