2012-06-13 48 views
4

在允許多個用戶同時登錄到一臺機器的Windows環境中,當我們調用Process.GetProcesses()時,是否返回進行此調用的登錄用戶的進程,還是返回所有登錄用戶的進程。我查看了MSDN頁面,但無法找到這些信息。Process.GetProcesses返回所有登錄用戶的進程?

+0

你看到所有的服務流程。他們使用不同的用戶帳戶運行。所以是的。 –

回答

3

該函數返回在本地計算機上運行的所有進程資源。
你可以看到它在MSDN(我還檢查我的電腦上..)

返回值

類型:System.Diagnostics.Process[]
型過程的數組,表示所有正在運行的進程資源本地計算機。

如果你在下面的代碼獲得的特定用戶的外觀工藝有趣 - http://www.codeproject.com/Articles/14828/How-To-Get-Process-Owner-ID-and-Current-User-SID

+0

謝謝。我實際上並不確定'本地計算機上運行的所有進程資源'是否已轉換爲'登錄用戶在本地計算機上運行的所有進程資源',因爲我們通常在單臺登錄計算機上工作。你是否在多用戶登錄機器上檢查它? –

+1

在任務管理器中,爲了顯示來自所有用戶的進程,我們需要管理員權限,所以我不確定這是否確實會從所有登錄用戶返回進程 –

+0

我試過了,它顯示了其他用戶的進程,例如NETWORK SERVICE ,系統,本地服務。 (我的問題是GetProcessesByName不匹配我,但事實證明,我必須省略「.exe」) –

相關問題