2011-08-14 27 views
1

我想通過使用vb6來讀寫窗口註冊表窗口xp和7。我在vb6中並不強大。我在下面試過在窗口xp和7中讀取和寫入窗口註冊表

Dim str As String 
str = GetSetting("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines", "Text", "ImportMixedTypes") 

我的編碼不起作用。請指出我的失蹤。

回答

4

對於該設置,您不能使用GetSetting。該方法僅適用於您自己的應用程序的讀/寫配置設置。如果你想讀取註冊表中的任何地方,你必須使用Windows API功能RegOpenKeyEx和朋友。

這裏有一個微軟支持文章,解釋如何做到這一點(樣本代碼):How To Use the Registry API to Save and Retrieve Setting

注意,您必須有權限在註冊表中讀取相關的地方,我不 知道你將可以訪問該密鑰,所以你必須嘗試一下。

+0

您可能*不應該*有權限訪問該密鑰。 「HKLM」中的任何內容都需要UAC的批准。 –

+0

謝謝@ ho1。現在它可以工作。這裏是[免費示例代碼](http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=36731&lngWId=1) – soclose

+0

@Cody:僅用於書寫。 – Deanna

0

HKEY_LOCAL_MACHINE可能會導致權限問題。描述在這些文章中Microsoft API article

如果您將HKEY_LOCAL_MACHINE更改爲CURRENT_USER,那麼這些程序可以很好地工作。