2016-09-19 25 views
1

我試圖展開Microsoft環境變量我這個微軟網頁上找到環境變量:https://technet.microsoft.com/de-de/library/dd560744(v=ws.10).aspx不能擴大與C#(使用的是Windows 7)

我使用C#的功能是:Environment.ExpandEnvironmentVariables("%SYSTEM32%") 我的最終目標是將擴展的環境變量添加到組合框。我想這樣做:this.destinationDirComboBox.Items.Add(Environment.ExpandEnvironmentVariables("%SYSTEM32%"));

問題是,只能擴展的環境變量是%TEMP%和%WINDIR%。所有其他人將顯示環境變量而不展開它,例如%SYSTEM32%而不是C:\ Windows \ System32.My的目標是讓它顯示C:\ Windows \ System32。

我已經試過什麼:

  • 前往 計算機>屬性 - >高級設置 - 系統添加一個用戶環境變量>環境變量 - >添加新的用戶環境變量。它僅適用於我自己的命令行 ,但不適用於C#代碼。
  • 試圖添加一個系統環境變量,我不知道如果我做錯了或者它不工作。沒有找到關於
    的更多信息。
  • 檢查了Windows PATH註冊表項的值。

什麼可能是問題的原因?我怎麼去解決它?

回答

1

打開命令提示符並使用set命令檢查現有的ENV變量。 Afaik某人。像SYSTEM32不是Windows的標準,但是如果你真的只爲那個位置搜索,它是由WINDIR +「System32」定義的。

不同的方法:

this.destinationDirComboBox.Items.Add(Environment.GetFolderPath(Environment.SpecialFolder.System));// -> c:\windows\System32 

檢查這爲更多的路徑和目標:

Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // -> c:\Users\UserX\Desktop 

這個文檔將幫助您:MSDN Specialfolder docs

+0

有沒有一種方法來定義一個環境變量沒有做它通過在WINDIR +「System32」中手動添加字符串?問題是,它不會起作用,因爲我希望應用程序在自己的機器上向用戶顯示正確的路徑,而不是通過添加字符串來定義的路徑。例如。用戶桌面的路徑應包括需要動態檢索的計算機的USERNAME。 – Dovile

+0

肯定有這樣的一種方式,但我不會不自信,爲什麼你想要它?我認爲你的目標是用一些路徑信息來填充combox。請檢查我的更新回答 –

+1

非常感謝你 - 它的工作。我找不到的唯一文件夾路徑是quicklaunch,但這只是其中的一個,並不重要。你救了我的一天! – Dovile