我正在列舉行程以查找是否excel.exe正在運行(例如)。我Win32Exception從系統服務等中得到了很多。
Process[] pps = Process.GetProcesses();
foreach (var process in pps)
{
string module = null;
try
{
module = process.MainModule?.FileName;
}
catch (Win32Exception)
{
continue;
}
這使得列舉運行 500 毫秒而不是 10 毫秒。
有沒有辦法在不觸發例外的情況下確定行程是否具有主模塊?或者有什么其他方法可以找到行程exe路徑?
uj5u.com熱心網友回復:
當您嘗試執行作業系統不允許的操作時會發生此例外。您可以檢查該NativeErrorCode屬性以查看有關例外的更多詳細資訊。
您可以在此處找到解決該問題的解決方案。
正如@steeeve 在評論中提到的GetProcessByName,如果性能是您的唯一標準,您可以使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/321799.html
上一篇:重繪資料網格時向上移動垂直滾動條
