Francisco Horta wrote:si eso esta bien, el detalle que encuentro es que ese tipo de ventanas no puedo escanear una parte del nombre, tiene que ser completa, asi que si por el internet explorer tiene abierta una pagina que de nombre sea "Pornografia tu lugar favorito - Microsoft Internet Explorer" esa pagina no se cierra buscando "porn" en todo el texto, como saber el nombre de esa ventana?, por la wcapture no se puede, hay que escribir el nombre completo..
pero por lo demas todo esta ok,
algun guru de c++ que no pudiera echar la mano?
salu2
pako
Modifica este método en TWCapture y añade la función:
//----------------------------------------------------------------------------//
METHOD WCapture( cTitle, lSoft ) CLASS TWCapture
local hWnd := 0
//traza( "lSoft", lSoft )
If lSoft
hWnd := SearchWnd( cTitle )
Else
hWnd := FindWindow( 0, cTitle )
EndIf
::lCaptured := ( hWnd > 0 )
::hWnd := if( ::lCaptured, hWnd, 0 )
return( ::lCaptured )
//----------------------------------------------------------------------------//
/* *********************************************************************************** */
/* *********************************************************************************** */
STATIC FUNCTION SearchWnd( cTitle )
Local nHwnd := 0
nHwnd := GetDeskTopWindow( )
/*
nHwnd := GetWindow( nHDesktop, 0 ) // GW_HWNDFIRST
Traza( nHwnd, "-", GetWindowText( nHwnd ) )
nHwnd := GetWindow( nHDesktop, 1 ) // GW_HWNDLAST
Traza( nHwnd, "-", GetWindowText( nHwnd ) )
nHwnd := GetWindow( nHDesktop, 2 ) // GW_HWNDNEXT
Traza( nHwnd, "-", GetWindowText( nHwnd ) )
nHwnd := GetWindow( nHDesktop, 3 ) // GW_HWNDPREV?
Traza( nHwnd, "-", GetWindowText( nHwnd ) )
nHwnd := GetWindow( nHDesktop, 4 ) // GW_OWNER?
Traza( nHwnd, "-", GetWindowText( nHwnd ) )
*/
nHwnd := GetWindow( nHwnd, 5 ) // GW_CHILD
//Traza( nHwnd, "-", GetWindowText( nHwnd ) )
While nHwnd > 0 .and. AT( cTitle, GetWindowText( nHwnd ) ) <> 1
//Traza( nHwnd, "-", GetWindowText( nHwnd ), "-", AT( cTitle, GetWindowText( nHwnd ) ) )
//nHwnd := GetWindow( nHDesktop, 2 )
nHwnd := GetWindow( nHwnd, 2 )
EndDo
//Traza( nHwnd, "-", GetWindowText( nHwnd ), "-", AT( cTitle, GetWindowText( nHwnd ) ) )
Return nHwnd
/* *********************************************************************************** */
Saludos
Carlos G.