2012-04-27 15 views
1

我想,有沒有辦法在C#作爲一個程序,找出用戶的系統中可用列表I,E在我的電腦和路徑的目錄。我的意思是說假設有2個用戶C#程序列表中的用戶和他們各自的路徑,以他們的目錄

「用戶A」 和 「用戶B」

而且他們的路徑我指的是用戶A的所有文件將在d:\的Documents and Settings \用戶A 同樣地,對於用戶B

有沒有在C#中的任何方法來找出用戶的列表和路徑各自的目錄中。

+0

mp3duck,在問題和[標籤示例路徑:窗口]標籤......這很明顯,不是嗎? – Joey 2012-04-27 07:00:01

+0

太早..沒有發現窗戶標籤! :( – mp3duck 2012-04-27 07:00:26

+2

也許這有助於http://stackoverflow.com/questions/5247798/get-list-of-local-computer-usernames-in-windows – dknaack 2012-04-27 07:01:23

回答

4

你可以做到這一點

string users_reg_key= 
    @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DocFolderPaths"; 

public string[] ListWinUsersList() 
{ 
//The registry key for reading user list. 

RegistryKey key = 
Registry.LocalMachine.OpenSubKey(users_reg_key, true); 

string[] winusers = " ".Split(' ');//this resolve problem with assigned variable 

if (key != null && key.ValueCount > 0) 
{ 
    winusers = key.GetValueNames(); 
} 
return winusers; 
} 

編輯

取得目錄嘗試這樣的事情

string path = Directory.GetParent(Environment.GetFolderPath(Environment. 
SpecialFolder.ApplicationData)).FullName; 
if (Environment.OSVersion.Version.Major >= 6) { 
path = Directory.GetParent(path); 
} 
+0

會不會是一般的我的意思是Windows 7和Windows XP? – 2012-04-27 07:04:50

+0

它將與Win7和XP – Likurg 2012-04-27 07:10:35

+0

工作,但我沒有看到滯後副本時的代碼,所以讀編輯再次 – Likurg 2012-04-27 07:14:37

相關問題