Operacje na 64-bitowym kluczu w rejestrze

0

Witam, mam problem, posiadam taki kod

procedure TCondomAPIClass.API_Reg_DeleteKey(HKEY,KEY: String);
var
  Reg:  TRegistry;
begin
  Reg:= TRegistry.Create(KEY_WRITE OR KEY_WOW64_64KEY);
  Reg.RootKey:= HKEY_CURRENT_USER;
  if (HKEY = 'HKEY_CLASSES_ROOT') then Reg.RootKey:= HKEY_CLASSES_ROOT;
  if (HKEY = 'HKEY_CURRENT_USER') then Reg.RootKey:= HKEY_CURRENT_USER;
  if (HKEY = 'HKEY_LOCAL_MACHINE') then Reg.RootKey:= HKEY_LOCAL_MACHINE;

  Reg.DeleteKey(KEY);

  Reg.Free;
end;

Wszystko dobrze działa na 32-bitowym systemie, kiedy uruchamiam to na systemie 64-bitowym (Win 7 64 Ultimate) to ta procedura przestaje poprawnie działać mimo parametru KEY_WOW64_64KEY, próbuję usunąć w kluczu Wow6432Node a mi potrzebny jest bezpośredni dostęp taki jaki jest w regedit, lecz operacje na stringach itd już działają., chodzi tylko o usuwanie i tworzenie kluczy.

0

Odpal w trybie administratora.

0

Aplikacja już ma wgrany manifest, żeby zawsze się uruchamiała jako Administrator i faktycznie uruchamia się jako Administrator a Registry.DeleteKey i Registry.CreateKey dalej tak samo działają, że tworzą w "Wow6432Node"

1 użytkowników online, w tym zalogowanych: 0, gości: 1