[英]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 上的不同位置。
以管理員身份運行程序...它將正常工作..如果您想從注冊表中讀取或寫入某些鍵,則用戶 SQl 查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.