流程的开始时间

Sau*_*ron 4 .net c#

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

rus*_*sau 7

进程有一个属性"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


Ras*_*dit 6

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

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

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

 Process.GetProcessesByName("myform.vshost"); 
Run Code Online (Sandbox Code Playgroud)