Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Devolver Foco a una aplicación creada con ShellExecuteEx

Hola !

Abro una nueva aplicación con ShellExecuteEx a través de un TShellExecuteInfo y si no estoy errado, debería poder obtener el Handle de la aplicación recién creada con el valor hProcess, no ??

Código Delphi [-]
procedure TForm.LabelClick(Sender: TObject);
var
  ExecInfo    : TShellExecuteInfo;
begin
 
  Screen.Cursor := crHourGlass;
  ExecInfo.cbSize       := SizeOf(ExecInfo);
  ExecInfo.fMask        := SEE_MASK_NOCLOSEPROCESS;
  ExecInfo.Wnd          := Handle;
  ExecInfo.lpVerb       := 'open';
  ExecInfo.lpFile       := PChar('PaginaWeb');
  ExecInfo.lpParameters := nil;
  ExecInfo.lpDirectory  := nil;
  ExecInfo.nShow        := SW_SHOW;
 
  ShellExecuteEx(@ExecInfo);
  Aux_Handle := ExecInfo.hProcess;
  WaitForSingleObject(ExecInfo.hProcess, INFINITE);
 
  ... después sigo con otros comandos.

La variable Aux_Handle debería contener el Handle del Browser de internet que esté configurado por defecto en el sistema y que acabo de abrir.

Lo que quiero conseguir es que más tarde, cuando se devuelva el foco a mi aplicación Delphi, se realicen una serie de operaciones y finalmente se devuelva el foco a la ventana del browser que acabo de abrir.

Para ello utilizo el evento OnActivate del Form en cuestión que previamente puse en otro sitio a Form.OnActivate := Form.ActivateParticular :

Código Delphi [-]
procedure TForm.ActivateParticular(Sender: TObject);
begin
  Self.OnActivate := nil;
  SendMessage(Aux_Handle, WM_SETFOCUS, 0, 0);
end;

Pero no me devuelve el foco a la ventana del explorador de internet anterior.

Qué estoy haciendo mal ?
__________________
Piensa siempre en positivo !
Responder Con Cita
 



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
Distribuir una Aplicacion creada con Delphi 2007 y Firebird. Adrian Murua Firebird e Interbase 2 18-05-2008 16:13:01
Devolver foco desde Form No Modal al control llamante gluglu Varios 8 22-06-2007 08:35:41
Aplicacion creada en Delphi 6 WindowsMe no funciona en WindowsXP Jgarmel Conexión con bases de datos 5 16-07-2006 19:16:26
Devolver el foco a aplicacion Coco_jac Varios 2 13-10-2005 16:38:33
instalador de una aplicación creada con delphi emeceuy Varios 1 03-06-2003 07:55:42


La franja horaria es GMT +2. Ahora son las 19:43:23.


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