2012-01-09 45 views
0
Process[] processlist = Process.GetProcesses(); 
foreach (Process proc in processlist) { 
       Console.Write(proc.MainModule.FileName); 
} 

它給出Win32Exception was unhandled access denied如何解決這個問題?我試圖運行它作爲adm但它得到相同的錯誤。提前致謝!如何獲取process.MainModule的FileName?

+0

它是什麼進程? – SLaks 2012-01-09 01:05:21

+1

您是否試圖從32位應用程序獲取64位進程的名稱? – keyboardP 2012-01-09 01:09:54

+0

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/3aa75320-0524-4c74-ac3b-2d8aca319c51/ – 2012-01-09 01:12:19

回答

1

有些過程即使是管理員也不允許訪問。你可以捕捉異常並繼續:

foreach (Process proc in processlist) 
{ 
    try 
    { 
    Console.WriteLine(proc.MainModule.FileName); 
    } 
    catch (Win32Exception e) 
    { 
    Console.WriteLine(proc.ToString() + " " + e.Message); 
    } 
} 
+0

你是對的,我應該簡單地忽略它。 – Jack 2012-01-12 20:31:05

相關問題