hola,
precisamente yo estoy tratando de hacer algo similar. Si ya tienes el programa hecho no te será muy difícil (lo digo yo que soy un novato javascript:void(0)
.
lo que yo he hecho ha sido utilizar 3 winsock (para las instrucciones, envio de keys y envío de valores)
primero conecto los 3 winsock y la única pega es que el winsock que va a recibir la petición de conexión tiene que tener el index 0, y cuando recibe el connection_request hay que cargar el winsock(1) que será el que funcione.
cuando el winsock de instrucciones del server recibe una orden, por ejemplo "HKLM"
se ejecuta el api RegOpenKey(HKEY_LOCAL_MACHINE, "", handle_superior)
y seguido un bucle con el api RegEnumKeyEx(handle_superior, i, key_name, name_size, ByVal 0&, vbNullString, ByVal 0&, ByVal 0&) que mientras sea 0 mandará al cliente,de una en una, los nombres de las keys de HKLM, por el winsock de keys mediante la instrucción winsock_keys.senddata key_name y según se reciben se llevan a un listbox
cuando en el server, se reciben datos por el winsock de keys, será la subey que se quiere explorar del handle abierto anterior, se ejecutaría en el server
RegOpenKey(handle_superior, subkey, handle1) para abrir la nueva subkey
handle_superior = handle1 para la siguiente key que abramos
y de nuevo un bucle con RegEnumKeyEx que se enviaría por winsock_key
y además otro bucle con RegEnumValue que se enviaría por winsock_value y en el cliente se añadiría a otro listbox
para otras instrucciones como borrar claves, crear nuevos valores y demás, habría que o bien meter más winsocks o jugar con las cadenas que se envían, por ejemplo yo envío junto a cada valor su data y su tipo, y después la separo en el cliente.
No sé si te habrá sido de ayuda, leyendo de nuevo el royo que he escrito, la verdad es que ni yo me entero javascript:void(0); , pero la idea es enviar desde el cliente una orden al servidor (winsock_cliente.senddata orden), recoger la orden en el servidor (winsock_servidor.getdata orden),analizar la orden en el servidor (if orden=...then), ejecutar la orden, devolver la salida (winsock_servidor.senddata salida) y recogerla en el cliente (winsock_cliente.getdata salida)