2013-07-23 38 views
0

我的代碼行已在Access 2007年和Access 2010中讀取註冊表在Windows 7上使用VBA許可

RegStr = fReturnRegKeyValue(HKEY_LOCAL_MACHINE, "Software\ThisApp\App", "Activation") 
完美地工作好幾年50+電腦(Vista中& Windows 7的32 & 64位)

在具有Access2010/VBA模塊(32位)的一臺特定PC(Windows 7 64位)上

上面的代碼行看不到註冊表項。

當我將HKEY_LOCAL_MACHINE更改爲HKEY_CURRENT_USER時,它工作正常。像這樣的問題

RegStr = fReturnRegKeyValue(HKEY_CURRENT_USER, "Software\ThisApp\App", "Activation") 

回答

1

一個可能的原因是,微軟添加到Windows啓動與Vista的registry virtualization。在Windows中啓用UAC(用戶帳戶控制)時,非特權用戶仍可以「修改」系統範圍設置,例如HKEY_LOCAL_MACHINE註冊表值,但這些更改僅對該用戶「虛擬化」,而其他用戶無法看到它們。

在這種情況下,一個用戶可能已經運行了一個將設置保存到HKEY_LOCAL_MACHINE的應用程序。該用戶將能夠檢索這些設置並正常運行該應用程序,但另一個用戶將無法查看這些HKEY_LOCAL_MACHINE設置,因爲它們僅對創建它們的用戶可見。

+0

謝謝你,我會用它來追逐它。 – user1737050

相關問題