2015-05-24 142 views
0

我想訪問註冊按鍵無法獲得訪問註冊表鍵

HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\ Microsoft SQL Server的\實例名稱\ SQL

我可以看到它在註冊表編輯。 (我複製上面的路徑從那裏)。

但代碼:

HKEY hKey; 
DWORD err = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL", 0, KEY_READ, &hKey); 

返回一個錯誤2(0X2):系統找不到指定的文件。

+0

你的程序是32位還是64位?如果是32位,它會看錯地方。 –

+0

@ Richard Critten。你的節目是什麼意思?操作系統或執行代碼來查找註冊表項的程序?操作系統 - 64位,應用程序 - 32位 – kaa

+0

您的密鑰是否也包含「名稱」字段?我沒有鑰匙,但是當我嘗試'L「SOFTWARE \\ Microsoft \\ DirectX」'時,返回成功值'0'。但是,當我包含「L」SOFTWARE \\ Microsoft \\ DirectX \\ Version「字段名稱」時,返回錯誤值「2」。 –

回答

1

在64位系統下運行的32位應用程序,註冊表可能會被重定向。 我不知道是否與此有關? 可以在第一次RegOpen時添加KEY_WOW64_64KEY參數。 或者使用RegDisableReflectionKey禁用重定向。