Antonio un saludo cordial para ti al igual para la gente del foro
Desde la aplicación se usan los archivos de ayuda html.
La pregunta es como cierro el archivo html de ayuda justo cuando cierro la aplicación?
Gracias
Jairo
Antonio un saludo cordial para ti al igual para la gente del foro
Desde la aplicación se usan los archivos de ayuda html.
La pregunta es como cierro el archivo html de ayuda justo cuando cierro la aplicación?
Gracias
Jairo
Problema resuelto
Con la clase Twcaptur y un código muy censillo no solo se puede cerrar cualquier aplicación, también se puede manipular la ventana muy fácil, dejo el exe de muestra, la clase y el código por si algún colega lo pudiera necesitar
http://rapidshare.com/files/243581113/Cerrar.rar.html
Cordialmente
Jairo Barbosa
Dios Bendiga Vuestros Caminos
//----------------------------------------------------------------------------//
// TWCapture by Manu Exposito
// Demo02 de la clase TWCapture
//----------------------------------------------------------------------------//
#define CRLF chr( 13 ) + chr( 10 )
function Main()
local oWnd := TWCapture():New()
local cTitle := space( 40 )
oWnd:WCapture( "demo02 - bloc de notas" )
if !oWnd:lCaptured // Si no esta la ventana la ejecutamos nosotros
WinExec( "NotePad.exe demo02.prg" )
oWnd:WCapture( "demo02 - bloc de notas" ) // y la capturamos
endif
Jugar( oWnd )
return nil
//----------------------------------------------------------------------------//
static function Jugar( oWnd )
local cTitle := oWnd:cTitle
if oWnd:lCaptured
MsgAlert( "Muy bien, ya lo tenemos" + CRLF + ;
"Hemos capturado la ventana con titulo: " + cTitle + ;
CRLF + "Ahora vamos a jugar con ella" )
MsgInfo( "La centramos" )
oWnd:Center()
MsgInfo( "Pinto una linea" )
oWnd:Line( 0, 0, 500, 500 )
MsgInfo( "La desplazo arriba a la izquierda" )
oWnd:Move( 0, 0 )
MsgInfo( "Ahora minimizo" )
oWnd:Minimize()
MsgInfo( "Ahora maximizo" )
oWnd:Maximize()
MsgInfo( "La restauro" )
oWnd:Restore()
MsgInfo( "Ahora cambio titulo" )
oWnd:SetText( "TWCapture captura ventanas - by Manu Exposito 2001" )
MsgInfo( "Ahora la oculto" )
oWnd:Hide()
MsgInfo( "Ahora la muestro" )
oWnd:Show()
MsgInfo( "y ahora termino" )
oWnd:End()
else
MsgStop( "No se pudo capturar ninguna ventana" )
oWnd := nil
endif
return( nil )
//----------------------------------------------------------------------------///*
captura.rc
Generado con VERCE v5.3
*/
1 ICON "C:\ARCHIV~1\VERCE53\BMPS\verce.ico"
DLG_PRUEBAS DIALOG 6, 15, 207, 111
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "VERCE pruebas"
FONT 8, "MS Sans Serif"
{
PUSHBUTTON "&Aceptar", 201, 40, 32, 101, 28
}//----------------------------------------------------------------------------//
// AUTOR.....: Manuel Exp¢sito Su rez Soft 4U '2001 //
// e-Mail....: <!-- e --><a href="mailto:maex14@dipusevilla.es">maex14@dipusevilla.es</a><!-- e --> //
// CLASE.....: TWCapture //
// FECHA MOD.: 18/08/2001 //
// VERSION...: 1.00 //
// PROPOSITO.: Captura una ventana abierta por nuestro programa o por otra //
// aplicacion para poder enviarle mensajes como si fuera una //
// ventana mas de nuestro programa. //
//----------------------------------------------------------------------------//
// DATAS.....: * lCapture tiene un valor logico, .f. si la ventana no se //
// pudo capturar y .t. si si se hizo //
// //
// METODOS...: * New( cTitle ) es el constructor, cTitle es el titulo de una //
// ventana, si se le pasa intentara capturarla y pondra .t. en //
// ::lCapture //
// * WCapture se encarga de buscar la ventana y asignarla a //
// nuestro objeto TWindow. Si la captura podremos interactuar //
// como si fuera una ventana mas de nuestra aplicacion //
// //
// NOTAS.....: TWCapture esta heredada de TWindows por lo que tendremos a //
// nuestra disposicion todas las datas y metodos de esta clase. //
// No distingue entre mayusculas y minuscula pero si se tienen //
// en cuenta los espacios //
//----------------------------------------------------------------------------//
#include "Objects.ch"
//----------------------------------------------------------------------------//
CLASS TWCapture FROM TWindow
DATA lCaptured AS LOGICAL
METHOD New( cTitle ) CONSTRUCTOR
METHOD WCapture( cTitle )
ENDCLASS
//----------------------------------------------------------------------------//
METHOD New( cTitle ) CLASS TWCapture
if( ValType( cTitle ) == "C", ::WCapture( cTitle ), ::lCaptured := .f. )
return( Self )
//----------------------------------------------------------------------------//
METHOD WCapture( cTitle ) CLASS TWCapture
local hWnd := FindWindow( 0, cTitle )
::lCaptured := ( hWnd > 0 )
::hWnd := if( ::lCaptured, hWnd, 0 )
return( ::lCaptured )
//----------------------------------------------------------------------------//Antonio Buendía
Es un gusto poder colaborar, gracias también a Mario González quien me facilito la clase
Antonio dos cosas
Estuve revisando en el foro pero no encontré nada entendible para mí.
Cordialmente
Jairo Barbosa
Jairo,
> 1. Tuve la intención de subir el código como tu lo hiciste pero no se como se hace para que quede la sintaxis de color.
Usa [ c o d e ] y [ / c o d e ], sin los espacios, y pones el código entre ellos.
> 2. Como quito la “X” que cierra una Windows, o como la deshabilito.
Puedes usar una variable lógica lSalir := .F. y usar el VALID:
ACTIVATE WINDOW oWnd VALID lSalir
solo saldrá cuando cambies el valor de lSalir a .T.