Ver Mensaje Individual
  #1  
Antiguo 01-04-2014
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Reputación: 21
jplj Va por buen camino
Volver a mostrar una ventana abierta con ShellExecute

Hola

Tengo una aplicación que muestra un digamos "listado de documentos" que el usuario puede abrir con un simple click.
Para "abrir" un documento/fichero, se copia el fichero al directorio temporal del usuario y posteriormente se abre con ShellExecute.
Código Delphi [-]
    ShellExecute(Self.Handle, nil, PChar(tmpFileName),'', '',SW_SHOWNORMAL);

Ahora bien, el usuario sigue trabajando y sigue abirendo, minimizando, ... vamos que llena la pantalla, y más pronto que tarde vuelve a intentar abrir un documento que ya está abierto y "tapado" por muchos otros ...

Lo que yo quería es poder "traer al frente" el documento abierto, y no tener que "abrir" una nueva copia.

Buscando he encontrado la función ShowWindowAsync.

Código Delphi [-]
ShowWindowAsync(HWND_ventana, SW_MAXIMIZE);

Pero hace falta el handle de la ventana que se genera al llamar a ShellExecute.

¿Cómo podría obtener este handle?, y si no es posible ¿de qué otra forma podria hacerlo?


Muchas gracias de antemano.
Un Saludo
__________________
Sonríe. Mañana puede ser peor.
Responder Con Cita