In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Application topmost
Application topmost
Hi!
Is it possible to make an application topmost after calling it with Execute()?
::hProcessIE := Execute( AppData:cBrowserExecute )
SetWindowPos( ???, HWND_TOPMOST, 0, 0, 0, 0, nOr( SWP_NOMOVE, SWP_NOSIZE ) )
Best regards, Timm.
Is it possible to make an application topmost after calling it with Execute()?
::hProcessIE := Execute( AppData:cBrowserExecute )
SetWindowPos( ???, HWND_TOPMOST, 0, 0, 0, 0, nOr( SWP_NOMOVE, SWP_NOSIZE ) )
Best regards, Timm.
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Application topmost
Not tested:
Regards,
Código: Seleccionar todo
FOR EACH hWnd IN EnumWindows()
IF GetWindowThreadProcessID( hWnd ) == hMyProcessID
SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, 0, 0, nOr( SWP_NOMOVE, SWP_NOSIZE ) )
EXIT
ENDIF
NEXT
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
HB_FUNC( GetWindowThreadProcessId ) // GetWindowThreadProcessId( hWnd ) --> hProcesssID
{
hb_retnl( GetWindowThreadProcessId( (HWND) hb_parnl( 1 ), NULL ) );
}
#pragma ENDDUMP
Re: Application topmost
Ingnacio,
sorry, the code does not work.
GetWindowThreadProcessID( hWnd ) is never hMyProcessID
Best regards, Timm.
sorry, the code does not work.
GetWindowThreadProcessID( hWnd ) is never hMyProcessID
Best regards, Timm.
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Application topmost
Try with:
Execute( AppData:cBrowserExecute,"c:\StartDirectory", .f., SW_SHOWNORMAL, @nProcessID )
Regards,
Execute( AppData:cBrowserExecute,"c:\StartDirectory", .f., SW_SHOWNORMAL, @nProcessID )
Regards,
Re: Application topmost
Hi Ignacio,
no, it does not work.
Best regards, Timm.
no, it does not work.
Best regards, Timm.
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Application topmost
Then, I believe your only chance is to use GetWindowText( hWnd ). No more clues. Sorry.
Regards,
Regards,
Re: Application topmost
Ignacio,
GetWindowText( hWnd ) works for me, many thanks!
Best regards, Timm.
GetWindowText( hWnd ) works for me, many thanks!
Best regards, Timm.
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Application topmost
Great!! Glad to help