Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Noticia] Bob está regresando, pero esta vez no es un juego Eslopes GnuCOBOL (OpenCOBOL) 20 14 de agosto de 2025 10:36
[Sintaxis] Saber si un EXE se esta ejecutando ?? Hrmcobol PowerCOBOL y WinAPI 1 24 de noviembre de 2020 13:11
[Duda] Saber qual a form em execução ? Paulo NetCOBOL 2 28 de junio de 2018 10:21
Empresa IT adopta jornada intensiva todo el año Kuk Charladero - espacio libre 3 11 de enero de 2017 00:04
[Duda] Generalidades a saber Kuk Micro Focus bajo Linux/Unix 4 29 de noviembre de 2015 22:57

Respuesta

  #1
Antiguo 29 de enero de 2020, 16:48
Nitzer
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: Por Videoconferencia-Webinar Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por aportar conocimientos excepcionales 
Última Actividad 05.08.2026 17:33
Posts Posts: 200
Likes enviados Enviados: 70
Likes recibidos Recibidos: 157
GUI Saber qué formulario está activo en todo momento
0 Inactivo Inactivo

Hola, una cuestión que me ha surgido y en principio pensaba que era simple, pero no doy con la tecla. Os explico:

En mi aplicación todas las ventas que dependen de ella se abren como OpenForm, de esa manera el usuario puede interactuar a la vez con todas los programas que quiera, bueno pues si quiero saber cual es la que tiene activa, es decir en la que está trabajando en cada momento, NO SE COMO HACERLO )

Lo del mouse no me vale, porque el formulario siempre está lleno de controles y nunca se ve propiamente, lo he probado y nada.
Pensaba que tenía un evento que se llamase Active, pero para mi desgracia no he encontrado nada.

Si sabéis algo os lo agradezco. Gracias
Nitzer is offline   Responder Con Cita
  #2
Antiguo 29 de enero de 2020, 21:48
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Nitzer, he aquí la solución

Un Timer + GetActiveWindow function (winuser.h) - Win32 apps | Microsoft Docs + un poco de Cobol puro
Archivos Adjuntos
Tipo de Archivo: zip Ventana_Activa.zip (82,1 KB)Descargas: 121



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 29 de enero de 2020, 22:39
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Nitzer Ver Mensaje
Hola, una cuestión que me ha surgido y en principio pensaba que era simple, pero no doy con la tecla. Os explico:

En mi aplicación todas las ventas que dependen de ella se abren como OpenForm, de esa manera el usuario puede interactuar a la vez con todas los programas que quiera, bueno pues si quiero saber cual es la que tiene activa, es decir en la que está trabajando en cada momento, NO SE COMO HACERLO )

Lo del mouse no me vale, porque el formulario siempre está lleno de controles y nunca se ve propiamente, lo he probado y nada.
Pensaba que tenía un evento que se llamase Active, pero para mi desgracia no he encontrado nada.

Si sabéis algo os lo agradezco. Gracias
Com esta API da para ver qualquer programa que possa estar ativo.
Archivos Adjuntos
Tipo de Archivo: zip Localizador.zip (8,3 KB)Descargas: 118
Joseg is offline   Responder Con Cita
  #4
Antiguo 30 de enero de 2020, 12:30
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Joseg, la única pega de tu solución es que utilizando FindWindowA te busca toda ventana abierta en Windows. Sin embargo GetActiveWindow te las busca en tu proceso:

Citación del post de docs.microsoft.com
Retrieves the window handle to the active window attached to the calling thread's message queue



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #5
Antiguo 30 de enero de 2020, 13:23
Nitzer
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: Por Videoconferencia-Webinar Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por aportar conocimientos excepcionales 
Última Actividad 05.08.2026 17:33
Posts Posts: 200
Likes enviados Enviados: 70
Likes recibidos Recibidos: 157

me iba a adelantar con la respuesta sin probar a fondo de lo kuk. Voy a examinarlo bien.
Nitzer is offline   Responder Con Cita
  #6
Antiguo 30 de enero de 2020, 21:20
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Nitzer, si tienes dudas ya sabes



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #7
Antiguo 31 de enero de 2020, 10:17
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Kuk Ver Mensaje
Joseg, la única pega de tu solución es que utilizando FindWindowA te busca toda ventana abierta en Windows. Sin embargo GetActiveWindow te las busca en tu proceso:
Sim, é verdade.
Joseg is offline   Responder Con Cita
  #8
Antiguo 31 de enero de 2020, 11:48
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Joseg, tu solución estámuy bien si en tu aplicación quieres saber si el usuario está con otra cosa incluso fuera de tu aplicación



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #9
Antiguo 31 de enero de 2020, 16:24
Nitzer
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: Por Videoconferencia-Webinar Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por aportar conocimientos excepcionales 
Última Actividad 05.08.2026 17:33
Posts Posts: 200
Likes enviados Enviados: 70
Likes recibidos Recibidos: 157

Bueno, muchas gracias kuk por tu aportación. Pero he querido ir un poco mas allá, quería que el usuario pudiera hacer una captura del trozo de pantalla que deseara y al final lo he conseguido con un programita
He realizado un video para que veáis lo que quería conseguir

Video de Captura de pantalla

PD: el programita se llama boxcutter y solo con el ejecutable funciona.
Nitzer is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:02.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.