Operacje na 64-bitowym kluczu w rejestrze

Operacje na 64-bitowym kluczu w rejestrze
M8
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, mam problem, posiadam taki kod

Kopiuj
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.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Odpal w trybie administratora.

M8
  • Rejestracja: dni
  • Ostatnio: dni
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"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.