Bueno en realidad el problema básicamente estaría en el manejo de los sockects, si lo sabes entonces ok, asumiendo lo anterior, lo que puedes hacer para lograr tu objetivo, es crear una interfaz de comunicaciones usando los sockets, con una estructura de paquete definido por ti mismo, en la cual del lado de cliente puedes almacenar todos los comandos a ejecutar que puedan van a ser enviados por el servidor, ejm:
del lado del cliente, puedes tener almacenado un comando que diga:
"id52235" que signifique abrir el bloc de notas, entonces cuando el programa servidor te envíe este código lo que haces es comparar, y si te ha enviado dicho código entonces del mismo lado del cliente puedes poner:
Código Delphi
[-]
if codigo_enviado_por_el_servidor="id52235" entonces
winexec('notepad.exe',SW_SHOWNORMAL)
y finalmente el cliente te va a abrir el bloc de notas
espero te sirva
Saludos