PDA

Ver la Versión Completa : como ejecutar una aplicacion desde otra maquina


valera
16-05-2007, 07:33:23
Hola Chavos del foro, necesito de su ayuda, les explico el problema, quiero realizar una aplicación tipo cliente servidor, lo que quiero es que en mi aplicacion servidor yo pueda ejecutar cualquier aplicacion instalada en la pc cliente por ejemplo word, bloc de notas, lo he intentado hacer con el winExec sí funciona pero en la misma pc(servidor).

Si alguien puede ayudarme, de antemano le agradezco su ayuda.

karlaoax
16-05-2007, 18:09:20
Ok,
1.- Primero que base de datos utilizas?
2.- De acuerdo a tu base, siempre debes instalar tu aplicacion en cada cliente.

Karla :p

juanlaplata
16-05-2007, 19:05:47
Busca programacion con sockets. Esto te permite que dos aplicaciones se comuniquen, entonces el servidor le dira al cliente que ejecute, y el cliente sabra como (winExec , ShellExecute, etc)

cHackAll
16-05-2007, 21:47:16
Por que no nos explicas un poco mas de tu problema, tengo entendido que no está relacionado con una BD.

Lo que quieres hacer es HACER que se ejecute una aplicacion X en la PC "Cliente", y que la ORDEN la de el servidor (algo así como un BackDoor)???

O talvez lo que quieres es jugar Solitario (Ej.) en el servidor, y la aplicacion solo está en la cliente?

valera
18-05-2007, 06:03:42
tengo una pequeña aplicación chat, utilizo los socket para la comunicación entre ambas pc`s, la comunicación y el chat está todo perfectamente bien, el detalle es que además del chat quiero que desde mi aplicación servidor(pc servidor) tenga otra opción que me permita abrir cualquier aplicación de mi maquina cliente (pc cliente), en este caso quiero abrir word, le muestro el codigo para conectarme entre ambas pc`s.


if ClientSocket1.Active then ClientSocket1.Active := False
else begin
ClientSocket1.Host := edtComputadora.Text;
ClientSocket1.Active := True;
reusuario.SetFocus;
end;

este codigo lo tengo en un boton conectar, edtComputadora es cuadro de texto donde capturo el ip de la pc a la que me voy a conectar y reusuario es un memo donde escribo el mensaje a enviar.

El codigo de clientSocket es el siguiente:

evento onconnect

Statusbar1.Panels[0].Text := 'Conectado a ' + ClientSocket1.Host;

Evento onread

mmResultados.Lines.Add(Socket.ReceiveText);


El codigo de ServerSocket es el siguiente:
evento onclientconnect

mmClientes.Lines.Add('Conexión');

evento onclientread mmclientes es un memo donde se recibe los mensajes enviados

mmClientes.Lines.Add(sMensaje);

evento onlisten

StatusBar1.Panels.Items[0].Text := 'Escuchando...';


Espero que me puedan ayudar...de ante mano gracias por contestar y por su respuesta

fer21unmsm
18-05-2007, 21:47:34
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:


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