2016-11-28 124 views
-1

我有一個Windows服務程序,將文件保存在本地系統用戶的應用程序數據文件夾中。我也有一個Windows窗體,需要閱讀這些文件並在不同的用戶帳戶上運行,但我不知道如何獲取另一個用戶的環境變量,特別是本地系統。如果有可能我會很感激一個例子,請提前致謝。獲取其他用戶的環境變量?

+0

你試過了嗎?String myEnv = System.getenv(「env_name」);'? –

+0

也許可以將程序更改爲讀取和寫入常用應用程序數據文件夾,而不是用戶特定的應用程序數據文件夾。 –

+0

@ScottChamberlain我應該這樣做,它會讓它變得如此簡單,btw什麼是一個很好的通用應用程序數據文件夾? –

回答

1

只要打電話Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);並將其返回到存儲文件的文件夾內作出子文件夾。該位置被設計爲非用戶特定的數據存儲位置。

的默認位置是C:\ProgramData但你應該使用的函數來獲得它,而不是硬編碼的路徑。您也無法將文件保存在該文件夾的根目錄中,但是您可以創建子文件夾並將文件保存在該文件夾中。

+0

非常感謝你:)) –

+0

請注意,* if *一個用戶的文件不應該對另一個用戶可見(例如,如果他們包含該用戶的私有信息),則應確保將權限設置爲相應的文件。 (如果其他用戶可以讀取這些文件是可以的,則不需要打擾。) –