相关疑难解决方法(0)

获取进程的PID由Process.start()启动

我正在使用此代码启动可执行文件:

Process proc = new Process();
proc.StartInfo.FileName = executablePath;
proc.Start();
proc.WaitForInputIdle();
Run Code Online (Sandbox Code Playgroud)

在这个调用之后proc.Id它给了我一些整数,这不是真正的进程ID.在任务管理器中,此进程还有另一个ID,我也使用MS UI Automation访问此应用程序,该应用程序也返回与任务管理器中相同的ID.所以我的问题是如何获得启动过程的真实进程ID?

UPDATE

我发现在Windows 7上它工作正常并返回正确的ID,但不是在Windows XP上.可能是什么原因?

情景

该应用程序的场景如下.我有一个正在运行的嵌入式HTTP服务器,它不是由我实现的(这里是源代码).客户端连接到Web服务器并发送运行程序的请求.在我的服务器的请求处理程序中,我只是Process.start()用来启动请求的应用程序.作为Web服务器,程序为连接到它的每个客户端会话创建线程(我假设如此,因为我没有写它).这可以以某种方式帮助识别问题,因为它只存在于Windows XP X86 Service Pack 3上吗?

c# pid process .net-4.0

22
推荐指数
2
解决办法
4万
查看次数

应该调用Dispose for Process.GetCurrentProcess()吗?

例如,请参阅

如何获取当前的ProcessID?

没有人打扰为Dispose返回的对象调用Dispose System.Diagnostics.Process.GetCurrentProcess().它应该被称为吗?请解释原因.

.net c# idisposable

10
推荐指数
1
解决办法
1362
查看次数

C#在运行时或更早的时候设置进程描述

我有一个WPF应用程序启动几个"托管"进程,当我启动我的WPF应用程序时,它将每次启动相同的.exe进程几次使用不同的参数.

我想用不同的名称(或描述)命名每个进程 - 所以我可以检测哪个是任务管理器中的哪个(如果我想关闭其中一个).

我知道我不能为每个进程设置不同的进程ImageName - 因为它们都是相同的实际.exe文件.

有没有一种方法我至少在运行期间或在其开始时间(更改ProcessStartInfo参数或类似的东西)中更改过程描述..?

.net c# windows process

3
推荐指数
1
解决办法
2639
查看次数

如何获取UWP中的当前ProcessID?

使用.Net Framework,可以在这里实现:如何获取当前的ProcessID?.

但是如何在UWP中获得当前的PorcessId?System.Diagnostics甚至没有Process类.

c# uwp

2
推荐指数
1
解决办法
1404
查看次数

标签 统计

c# ×4

.net ×2

process ×2

.net-4.0 ×1

idisposable ×1

pid ×1

uwp ×1

windows ×1