2011-08-15 29 views
0

我想刪除一個註冊表項。這裏是我的代碼:使用VBS無法刪除註冊表項

Option Explicit 
Dim objShell 
Set objShell = WScript.CreateObject("WScript.Shell") 
Dim strDelete 
strDelete = objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\test\") 
WScript.echo(strDelete) 
objShell.RegDelete "HKEY_LOCAL_MACHINE\SOFTWARE\test\" 
WScript.Quit 

當我跑,我得到這樣的輸出:

微軟(R)Windows腳本宿主5.8版
版權所有(C)微軟公司。版權所有。

測試
N:\ RogueDevelopment \ test.vbs(23,1)WshShell.RegDelete:在註冊表項 「HKEY_LOCAL_MACHINE \ SOFTWARE \測試\」 無效根。

我的註冊表項位於「HKEY_LOCAL_MACHINE \ SOFTWARE \ test \」,它的默認值爲「test」。密鑰中的值正在被正確讀取,但密鑰不能被刪除。我在Windows 7上運行這個腳本。爲什麼會發生這種情況?

+0

UAC阻止您刪除HKLM中的密鑰。改用HKCU。 –

+0

現在沒有啓動到Windows分區,但我懷疑你不應該在測試「test \」中最後一個「t」之後使用尾部反斜槓。那麼,這可能是管理權限問題,正如尼爾在下面所說的。 – selbie

回答

0

您無權打開HKEY_LOCAL_MACHINE\SOFTWARE\test\進行刪除訪問。如果您確實需要修改HKLM下的密鑰,則需要提升您的流程。