Csharp/C#教程:流程的开始时间分享


流程的开始时间

如何使用c#代码检索进程的开始时间? 如果可能的话,我也想知道如何使用Widows内置的function。

public DateTime GetProcessStartTime(string processName) { Process[] p = Process.GetProcessesByName(processName); if (p.Length <= 0) throw new Exception("Process not found!"); return p[0].StartTime; } 

如果您知道进程的ID,则可以使用Process.GetProcessById(int processId)。 另外,如果进程位于网络上的其他计算机上,则对于GetProcessesByName()和GetProcessById(),您可以将计算机名称指定为第二个参数。

要获取进程名称,请确保该应用程序正在运行。 然后转到Applications选项卡上的任务管理器,右键单击您的应用程序并选择Go to process。 在进程选项卡中,您将看到突出显示的进程名称。 在c#代码中使用.exe之前的名称。 例如,Windows窗体应用程序将列为“myform.vshost.exe”。 在代码中你应该说

  Process.GetProcessesByName("myform.vshost"); 

进程有一个属性“StartTime”: http : //msdn.microsoft.com/en-us/library/system.diagnostics.process.starttime.aspx

您想要“当前”流程的开始时间吗? Process.GetCurrentProcess将为您提供: http : //msdn.microsoft.com/en-us/library/system.diagnostics.process.getcurrentprocess.aspx

在代码中

假设您要查找当前使用PID 4548运行的记事本的开始时间。您可以使用PID或进程名称找到它,并将其打印到调试窗口,如下所示:

 //pick one of the following two declarations var procStartTime = System.Diagnostics.Process.GetProcessById(4548).StartTime; var procStartTime = System.Diagnostics.Process.GetProcessesByName("notepad").FirstOrDefault().StartTime; System.Diagnostics.Debug.WriteLine(procStartTime.ToLongTimeString()); 

在Windows中

您可以使用Process Explorer ,它具有显示进程开始时间的选项,或者您可以从命令行列出所有当前正在运行的进程及其开始时间,其中包含以下内容:

 wmic process get caption,creationdate 

您可以通过检查Process.GetProcessesByName()返回的Process对象来获取进程元数据。

上述就是C#学习教程:流程的开始时间分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!

 System.Diagnostics.Process.GetProcessById(xxx).StartTime;//fails for certain processes with access denied 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/955479.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐