Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Buenas!.

Pongamos el ejemplo de que tienes una ventana de una aplicación que es FireFox y una aplicación gambas.
¿ Es posible con la clase Desktop que se muestre el valor de las coordenadas x e y de la ventana que contiene la aplicación FireFox
en la aplicación gambas ?.

Algo como esto:

 dosformularios

Cuando se mueve el Form Test se muestra la coordenada x e y en la barra de titulo del Form Principal.
No encontré un evento Move en la clase Desktop, si un método.

Subo el ejemplo que hice  con el efecto desea

En realidad la idea es "conocer" que hace la otra ventana.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Shell escribió: [Ver mensaje]
En realidad la idea es "conocer" que hace la otra ventana.

El asunto habla de "una ventana que no pertenece a una applicación Gambas".
Asì yo entiendo que tenemos 2 aplicaciones graficas: una de gambas y una no gambas (externa).

Bueno, hace falta conocer y extraer el ID de la ventana del programa externo (es decir del no gambas).
Para eso tienes que usar la Clase "DesktopWindow" del Componente "gb.desktop".

Exemplum clarissimum:
tenemos abiertas dos ventanas: una es de nuestra aplicación gambas, la otra es del programa editor hexadecimal "GHex".

Para gestionar la ventana del programa "GHex" con la Clase "DesktopWindow" del Componente "gb.desktop", tenemos que pasar a esta Clase el nombre del programa "GHex", y probamos con el mouse a mover o cambiar dimensión de la ventana de GHex.....

Private tm As Timer
Private dw As DesktopWindow


Public Sub Form_Open()
  
   With tm = New Timer As "Tempus"
     .Delay = 100
     .Start
   End With
  
End


Public Sub Tempus_Timer()
  
  Dim i as Integer[]

' Con la función "Desktop.FindWindow( )" pasamos el ID de la ventana de GHex a la Clase "DesktopWindow para gestionarla":
  i = Desktop.FindWindow("GHex", Null, Null)
  
  If i.Count > 0 Then
    With dw = New DesktopWindow(i[0])
      Print .VisibleName, .X, .Y, .W, .H
    End With
  Endif
  
End


Public Sub Button1_Click()   ' Podemos tambien mover la ventana de GHex por el desktop por ejemplo con un Botón,
' (y tambien - si queremos - cambiar su dimensión):

  dw.Move(100, 100, dw.W, dw.H)

End


Public Sub Button2_Click()

' ...o ferozmente matarla:  :-D
  dw.Close

End



De todas formas señalo esta pagina:
https://www.gambas-it.org/wiki/inde...ogrammi_esterni
 



 
última edición por vuott el Miercoles, 06 May 2020, 00:41; editado 3 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Gracias Vuott.

¿ Y es necesario usar el Timer ?.  Es una posibilidad, pero,  debe estar constantemente buscando la ventana.

¿ Esa ventana no gambas no tiene otra forma posible de comunicarse con la ventana gambas ?.

¿ Has comprobado que pasa cuando bajas el retardo del timer ?
A mi llega a no mostrarme nada.

¿ Llegaste a ver la aplicación "xprop" para la terminal de Linux ?.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Parece que gambas no siempre encuentra la ventana. Puede ser algo del escritorio.
Por eso cambié el código al  evento Activate del Form, pero no siempre tiene que funcionar.

Private dw As DesktopWindow
Private dow As DesktopWatcher

Public Sub Form_Open()

' Dim i As Integer[]
'
'   i = Desktop.FindWindow("Fuse", Null, Null)
'  
'   dw = New DesktopWindow(i[0])
'   dow = New DesktopWatcher(dw) As "Controlador"
  
End

Public Sub Form_Activate()

  Dim i As Integer[]
  

  i = Desktop.FindWindow("Fuse", Null, Null)  
  
  dw = New DesktopWindow(i[0])
  dow = New DesktopWatcher(dw) As "Controlador"

End

Public Sub Controlador_ActiveWindow()
  
  Print dw.X, dw.Y  
  dw.Refresh
  
End
 


Pero,eso solo funciona solo una vez por cada vez que está activa la ventana de la aplicación "Fuse".  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Algo más de información:

https://gambas-buch.de/dwen/doku.php?id=k15:k15.4:start

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Solución por si gambas se despista...:-)

No olvidarnos de hacer un refresco de las ventanas del escritorio

Public Sub Form_Open()
  
  Dim i As Integer[]
  
  i = Desktop.FindWindow("Fuse", Null, Null)

  Desktop.Windows.Refresh    
  dw = New DesktopWindow(i[0])
  dow = New DesktopWatcher(dw) As "Controlador"

End
 


Por cierto. Si busco la clase Desktop, no aparece la propiedad Windows...

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Ah..

Esto:

http://gambaswiki.org/wiki/comp/gb.desktop/desktop?l=de&nh

No es lo mismo que:

 claseestatica

Pues que lata. Cuando uso ayuda sobre Desktop siempre me aparece la de abajo.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Por cierto, no hablamos del componente:

gb.desktop.x11

 

Vaya, vaya, vaya...en alemán si que existe.

Pero no debería ser la primera lengua en inglés   

Pues si que está..

http://gambaswiki.org/wiki/comp/gb.desktop/desktop?nh

¿ Entonces que le pasa a la ayuda del editor de gambas ?.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Viernes, 08 May 2020, 12:44; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Shell escribió: [Ver mensaje]
¿ Llegaste a ver la aplicación "xprop" para la terminal de Linux ?


Sì:

   https://www.gambas-it.org/wiki/inde..._grep_-i_window
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recibir Información De Una Ventana Que No Pertenece A Una Aplicación Gambas 
 
Shell escribió: [Ver mensaje]
¿ Esa ventana no gambas no tiene otra forma posible de comunicarse con la ventana gambas ?

Decimos... comunicar datos entre dos programas....

   https://www.gambas-it.org/wiki/inde...rogramma_Gambas
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Mostrar Información Del Terminal En Gambas. Cubel General 4 Miercoles, 31 Marzo 2010, 22:03 Ver último mensaje
Cubel
No hay nuevos mensajes Extraer Información De Un Archivo Midi Co... vuott Aplicaciones/Fragmentos de Código 2 Miercoles, 03 Septiembre 2014, 23:07 Ver último mensaje
vuott
No hay nuevos mensajes Ventana Secundaria No Aparece Si La Ventan... v3ctor General 2 Sabado, 28 Marzo 2015, 20:22 Ver último mensaje
jguardon
No hay nuevos mensajes Y Despues De El Silencio. Vuelvo A Recibir... Shell General 3 Martes, 07 Febrero 2017, 18:41 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario