我已经使用以下代码获取EXCEL.EXE开始时间。 (以下代码是okey)
For Each prog As Process In System.Diagnostics.Process.GetProcessesByName("EXCEL")
Label100.Text = prog.StartTime.ToString
Next
但我需要更专业的代码。
那么,如何消除每个循环?
祝福。
答案 0 :(得分:1)
您可以存储Process.GetProcessesByName
的结果并检查它是否为Length >= 1
:
Dim excelProcs = System.Diagnostics.Process.GetProcessesByName("EXCEL")
If excelProcs.Length >= 1 Then
Label100.Text = excelProcs(0).StartTime.ToString()
Else
MessageBox.Show("Error")
End If
或使用Enumerable.FirstOrDefault
这是LINQ方法:
Dim excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL").FirstOrDefault()
然后您可以在使用之前检查excelProc IsNot Nothing
:
If excelProc IsNot Nothing Then
Label100.Text = excelProc.StartTime.ToString()
Else
MessageBox.Show("Error")
End If