我想刪除使用Delphi的一個Windows鍵,但是沒有成功,下面我用刪除的RegistryKey Win64中/ 32
Function DeleteKeyAPI(hRoot: HKEY; sPath: String; IsReg64: BOOL): BOOL;
Var
iRet: Integer;
Begin
If IsReg64 Then
iRet := RegDeleteKeyEx(hRoot, PChar(sPath), KEY_WOW64_64KEY, 0)
Else
iRet := RegDeleteKeyEx(hRoot, PChar(sPath), KEY_WOW64_32KEY, 0);
If iRet = ERROR_SUCCESS Then
Result := True
Else
Result := False;
End;
代碼在一些關鍵我可以刪除不止一個具有自己的註冊表編輯器我的訪問被拒絕的錯誤
我該如何解決這個問題?
編輯-----------------------
我試着做如下,但沒有成功
function SHDeleteKey(key: HKEY; pszSubKey: LPCTSTR): DWORD; stdcall;
implementation
{$R *.dfm}
function SHDeleteKey; external 'shlwapi.dll' name 'SHDeleteKeyA';
procedure TForm1.FormCreate(Sender: TObject);
begin
SHDeleteKey(HKEY_LOCAL_MACHINE, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\AdobeCS6ServiceManager');
end;
即使以管理員身份運行它不會擦除密鑰,註冊表擁有者(也以管理員身份運行)會返回以下錯誤: 「無法刪除所有指定的值」 – marcossys
「您應該檢查iRet的值以瞭解更多信息「。 –
我試圖做如下,但沒有成功 – marcossys