2012-06-25 70 views
1

就我所知,可以更改用戶(通常爲C:\ Users)的標準文件夾(例如C:\ xzy \ Users)。以編程方式獲取C: Users

是否有可能獲得用戶目錄?

或者有沒有一種方法來獲得DefaultUser目錄的路徑?

我在.NET框架來處理這個3.5

編輯:另一個問題是,當應用程序正在運行的用戶配置文件%%將位於某處℃的服務用戶(例如系統):\視窗

回答

2

我在做別的事情,當我看到的東西,讓我想起了這個問題。

您正在尋找的數據存在於註冊表中。

閱讀這樣的:

(string)Registry.GetValue(
    @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList", 
    "ProfilesDirectory","") 

你的應用程序將需要足夠的權限讀取註冊表。

3
string userFolderpath = System.IO.Directory.GetParent 
(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName; 

string userFolderParentPath = System.IO.Directory.GetParent(path).FullName ; 
+0

嗯....這會給我%USERPROFILE%\應用程序數據,因爲Environment.SpecialFolder.ApplicationData解析爲%USERPROFILE%\應用程序數據\漫遊。爲什麼不使用%userprofile%特殊文件夾的父級? – spender

+0

用戶配置是不是在3.5速效... 另一個問題是,當應用程序作爲服務運行用戶(例如系統)的%USERPROFILE%將位於某處C:\ WINDOWS – mabstrei

+0

@mabstrei,我已校正回答。 –