一尘不染

如何获得运行过程的完整路径?

c#

我有一个正在更改其他应用程序某些设置的应用程序(这是一个通过双击运行的简单C#应用程序(无需安装))。

更改设置后,我需要重新启动另一个应用程序,以便它反映更改后的设置。

这样做,我必须终止正在运行的进程并重新启动该进程,但是问题是在终止后我找不到该进程。(原因是系统不知道exe文件在哪里。)

有什么办法找出正在运行的进程或exe的路径(如果正在运行)?

我不想手动给定路径,即如果它正在运行,请获取路径,终止该过程,然后再重新开始....我稍后会处理


阅读 312

收藏
2020-05-19

共1个答案

一尘不染

 using System.Diagnostics;
 var process = Process.GetCurrentProcess(); // Or whatever method you are using
 string fullPath = process.MainModule.FileName;
 //fullPath has the path to exe.

此API有一个陷阱,如果您在32位应用程序中运行此代码,则将无法访问64位应用程序路径,因此您必须将应用程序编译为64位应用程序并运行(项目属性→构建→平台目标→x64)。

2020-05-19