2013-01-21 68 views
1

我正在使用註冊表項從我的計算機的已安裝文件夾中訪問XML文件的路徑。 我的機器有32位操作系統。所以我使用註冊表項處理64位操作系統

using (RegistryKey pRegKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Folder\subfolder\key")) 
{ 
    if (pRegKey == null) 
    { 
     return; 
    } 
    else 
     // get path 

但是當我在64位機器上運行它顯示錯誤,因爲我沒有處理64位操作系統的異常情況。

我該如何處理?

+0

那麼,是在64位機上的關鍵? –

+0

您使用的是什麼版本的.net? – DaveShaw

+0

@I我沒有訪問權限將其安裝在64位機器上。這就是爲什麼我感到困惑。 – BinaryMee

回答

2

如果你的應用是32位的,你想在32位和64位操作系統安裝兩個,使用此:

string regPath = string.Format(@"SOFTWARE\{0}AppName\Folder\subfolder\key", 
         Environment.Is64BitProcess ? @"Wow6432Node\" : string.Empty()); 

using (RegistryKey pRegKey = Registry.LocalMachine.OpenSubKey(regPath)) 
     { 
      ..... 
+0

謝謝你對我們的興趣..: )這裏的主要問題是我不知道64位環境的路徑部分。有沒有像32位Wow6432Node的默認? – BinaryMee

+0

我被編輯了我的文章。 –

+0

string.Empty()???所以你說在64位機器中會有像Software \ Filder \ subfolder \ key?它會運行?如果機器不是32位,那麼我必須從64位操作系統讀取XML。所以我必須穿過那條路。 – BinaryMee

相關問題