Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2012
[Waldo] Waldo is offline
Miembro Premium
 
Registrado: sep 2003
Posts: 101
Poder: 21
Waldo Va por buen camino
Lamar una aplicación y ejecutar acciones

Hola Buen día/Noche, tengo una pregunta que nos e si la pueda expresar, existen dos aplicaciones independientes llamese A Y B, mi deseo es que desde B llamar a A, hasta a qui no hay problema, el asunto es como decirle a A que ejecute cierto menu y abra la ventana que yo desee desde la Aplicacion B.

EJEMPLO.

Desde la aplicación B decirle a A que abra la ventana de captura de factura.


Considérese que las dos son aplicaciones delphi y que conozco de la estructura de las dos
Responder Con Cita
  #2  
Antiguo 28-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Waldo.

Una opción es usar la estructura de windows COPYDATASTRUCT, enviando y capturando el mensaje WM_COPYDATA.

Te pongo un ejemplo bién simple que despliega y pliega un ComboBox situado en el receptor, de acuerdo a dos botones ubicados en el emisor:

Aplicación A (emisor)
Código Delphi [-]
...
type
  TfrSender = class(TForm)
    btnAbrir: TButton;
    btnCerrar: TButton;
    procedure btnAbrirClick(Sender: TObject);
    procedure btnCerrarClick(Sender: TObject);
  private
    procedure SendMsgToReceiver(WndTitle: PChar; Msg: String);
  public
  end;
...

implementation

procedure TfrSender.SendMsgToReceiver(WndTitle: PChar; Msg: string);
var
  HW  : HWND;
  cds : TCopyDataStruct;
begin
  HW := FindWindow(nil, PChar(WndTitle));
  try
    cds.dwData := 0;
    cds.cbData := Length(Msg)+1;
    cds.lpData := PChar(Msg);
    SendMessage(HW, WM_COPYDATA, Integer(Handle), Integer(@cds));
  finally
    CloseHandle(HW)
  end;
end;

procedure TfrSender.btnAbrirClick(Sender: TObject);
begin
  SendMsgToReceiver('frReceiver','Abrir');
end;

procedure TfrSender.btnCerrarClick(Sender: TObject);
begin
  SendMsgToReceiver('frReceiver','Cerrar');
end;

Aplicacion B (receptor)
Código Delphi [-]
...
type
  TfrReciber = class(TForm)
    ComboBox1: TComboBox;
  private
    procedure WMGetData(var Msg: TWMCopyData); message WM_COPYDATA;
  public
  end;
...

implementation

procedure TfrReciber.WMGetData(var Msg: TWMCopyData);
var
  RE: string;
begin
  RE:= Pchar(Msg.CopyDataStruct.lpData);
  if RE = 'Abrir' then
      ComboBox1.Perform(CB_SHOWDROPDOWN, 1, 0);
  if RE = 'Cerrar' then
      ComboBox1.Perform(CB_SHOWDROPDOWN, 0, 0);
end;
También te adjunto los fuentes de ambos para que puedas probarlo.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip Sender.zip (3,7 KB, 85 visitas)
Tipo de Archivo: zip Receiver.zip (5,5 KB, 54 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-11-2012 a las 07:17:16.
Responder Con Cita
  #3  
Antiguo 05-03-2013
Eduardo Mendoza Eduardo Mendoza is offline
Registrado
 
Registrado: jun 2006
Posts: 2
Poder: 0
Eduardo Mendoza Va por buen camino
Pregunta

Eliminado por repetido.
No cumple las normas.

Última edición por Casimiro Notevi fecha: 06-03-2013 a las 00:09:49.
Responder Con Cita
  #4  
Antiguo 06-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Eduardo Mendoza Ver Mensaje
..
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Ya has abierto un hilo con tu pregunta y se te ha contestado, si necesitas más aclaraciones entonces sigue en aquel hilo, no repitas la misma pregunta en distintos hilos, gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Auto Borrar Aplicacion / Cambiar Privilegios Aplicacion / Ejecutar como Administrador jogagua Varios 15 27-10-2011 01:38:07
Ejecutar aplicacion? c0lo API de Windows 5 24-03-2009 07:58:53
Donde Ejecutar las acciones del formulario lucasarts_18 PHP 5 21-01-2008 18:29:39
Ejecutar aplicacion DOS que no se vea? marceloalegre Varios 1 21-12-2005 13:22:18
Ejecutar una aplicacion Nathan Varios 3 06-03-2004 18:03:42


La franja horaria es GMT +2. Ahora son las 10:13:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi