簡體   English   中英

訪問 C# 中的注冊表

[英]Accessing registry in C#

我嘗試訪問我知道存在的特定注冊表項。 我用這種方式:

 RegistryKey rk = Registry.LocalMachine; 
 RegistryKey sk1 = rk.OpenSubKey(KeyName,false);

, for example, it works fine.例如,如果我將 'KeyName' 替換為 ,它可以正常工作。
it return null.如果我嘗試從 regedit 復制粘貼的任何其他路徑,例如 ,它將返回 null。

我正在使用 x86 程序在 win7 64 位上工作

在 Windows 64 位(Windows 2003+、XP 和更高版本的 64 位)中,發生了透明的注冊表重定向,以便為 32 位和 64 位注冊表調用提供單獨的邏輯視圖。

閱讀下面的鏈接以獲取更多信息; 這是重要的信息。

注冊表重定向器通過在 WOW64 上提供注冊表某些部分的單獨邏輯視圖來隔離 32 位和 64 位應用程序。 注冊表重定向器攔截 32 位和 64 位注冊表調用到它們各自的邏輯注冊表視圖,並將它們映射到相應的物理注冊表位置。 重定向過程對應用程序是透明的。 因此,32 位應用程序可以訪問注冊表數據,就像它在 32 位 Windows 上運行一樣,即使數據存儲在 64 位 Windows 上的不同位置。

MSDN 注冊表重定向器

以管理員身份運行程序...它將正常工作..如果您想從注冊表中讀取或寫入某些鍵,則用戶 SQl 查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM