Registry Get Access 64 bits o crear DLL en pure basic

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hola

Estoy intentando crear un codigo que me devuelva si una key en 64 bits tiene permisos para ser eliminada o no. Uso el plugin Wow64, pero no contiene esta funcion (es la unica que le falta).

He visto en los foros de purebasic un codigo que podria funcionar:
Reg_Path.s = key for test?

IE_path.s
hKey.l
keyvalue.s = Space(512)
datasize.l = 512

res.l = RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, Reg_Path, #NULL, #KEY_ALL_ACCESS, @hKey)
If res = 0
--ok --retunr 0?
else
--return 1?
endif
Pero no tengo ni idea de como crear una DLL que mediante la funcion de AMS8 de DLL.callbackfunction pueda comunicarme con ella.

Gracias.
Hola, estoy probando a crear el codigo pero se me peta el AMS8 y no funciona. Supongo que el codigo que he hecho esta mal (obviamente :) ) pero no tengo ni idea de como hacerlo.

El codigo de la DLL en purebasic

Código: Seleccionar todo

ProcedureDLL.s ReadRegKey(tipo$, key$)  
  
  KeyValue$ = "false"
  
  If tipo$ = "HKEY_CURRENT_USER"
    
    res.l = RegOpenKeyEx_(#HKEY_CURRENT_USER, key$, 0, #KEY_ALL_ACCESS, @hKey)
    If res = 0
        KeyValue$ = "true"       
        RegCloseKey_(hKey)
    EndIf
      
  ElseIf tipo$ = "HKEY_CLASSES_ROOT"
      
    res.l = RegOpenKeyEx_(#HKEY_CLASSES_ROOT, key$, 0, #KEY_ALL_ACCESS, @hKey)
    If res = 0
        KeyValue$ = "true"        
        RegCloseKey_(hKey)
    EndIf
      
  ElseIf tipo$ = "HKEY_LOCAL_MACHINE"
      
    res.l = RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, key$, 0, #KEY_ALL_ACCESS, @hKey)
    If res = 0
       KeyValue$ = "true"        
       RegCloseKey_(hKey) 
     EndIf  
  EndIf   
      
  ProcedureReturn KeyValue$
EndProcedure
Y este codigo es para usarlo en el AMS8

Código: Seleccionar todo

re = DLL.CallFunction(_SourceFolder.."\\RegDLL.dll", "ReadRegKey", "\""..tipo.."\",\""..key.."\"", DLL_RETURN_TYPE_INTEGER, DLL_CALL_CDECL);
    if re == "false" then
    snif = 1;
    end
thx
MUERTE AL BASIC
Pabloko escribió:MUERTE AL BASIC
lol