Ver Mensaje Individual
  #11  
Antiguo 24-05-2010
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Reputación: 16
LoPiTaL Va por buen camino
Bueno, como te he dicho sentía curiosidad. escafandra tenía razón, sólo que no basta con darle el foco (Windows.SetFocus no me funcionaba ). He tenido que hacer BringWindowToTop. Además no me funciona ni en el evento OnCreate ni en el OnShow del form, sino que he tenido que hacerlo en un timer (de 1 ms claro).

El código:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
var
  wnd: HWND;
begin
  Timer1.Enabled:=False;
  wnd := FindWindow (nil,'Sin título - Bloc de notas'); //encuentra la nueva ventana

  BringWindowToTop(wnd);
  keybd_event(VK_CONTROL, 0, 0, 0);
  keybd_event($41, 0, 0, 0);  //En castellano es Ctrl+'A'
  keybd_event($41, 0, KEYEVENTF_KEYUP, 0);
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
end;

Pruébalo a ver qué tal y nos dices.

PD: Si alguien puede explicar por qué el postmessage y sendmessage no funcionan se agradecería.

Un saludo,
LoPiTaL
Responder Con Cita