Como traer una ventana minimizada, al frente (Que quede como principal)

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

sebaramos
Posts: 19
Joined: 14 Dec 2017, 08:37

Como traer una ventana minimizada, al frente (Que quede como principal)

04 Jan 2018, 15:55

Hola Estimados,

Por tercera vez recurro a su sabiduría en este lenguaje que me ha hecho la vida bastante mas fácil.....

Mi consulta es: Estoy trabajando con dos programas; QlikView y Excel, donde necesito copiar información desde Excel a QlikView, por lo que me gustaría saber como traer al frente (Como ventana activa) a cualquiera de estos programas cunado lo necesite y así poder interactuar con ambos. Desde ya se los agradezco!
A_AhkUser
Posts: 1147
Joined: 06 Mar 2017, 16:18
Location: France
Contact:

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

04 Jan 2018, 16:15

Hola sebaramos,

Prueba este ejemplo con la bloca de notas y paint:

Code: Select all

run, notepad,,, PID
WinWait, ahk_pid %PID%
ID := WinExist()
GroupAdd, miGrupoDeVentanas, ahk_id %ID%

run, mspaint,,, PID
WinWait, ahk_pid %PID%
ID := WinExist()
GroupAdd, miGrupoDeVentanas, ahk_id %ID%
return

!s::GroupActivate, miGrupoDeVentanas ; <<<< para interactuar con ambos
!w::WinRestore, ahk_group miGrupoDeVentanas
!y::WinMinimize, ahk_group miGrupoDeVentanas
!x::WinClose, ahk_group miGrupoDeVentanas
Saludos!
my scripts
sebaramos
Posts: 19
Joined: 14 Dec 2017, 08:37

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

05 Jan 2018, 12:29

Hola Estimado,

Me corre muy bien el ejemplo pero cuando lo adapto a mis programas solo se cargan estos mismos pero nada mas....

Esto es lo que estoy haciendo...

Code: Select all

#p::

run, C:\Users\kibernum.sramos\Desktop\Aes\Reportes\Semanal\Importar datos web8.xlsm,,, PID
WinWait, ahk_pid %PID%
ID := WinExist()
GroupAdd, miGrupoDeVentanas, ahk_id %ID%

run, C:\Program Files\Qlikview\Qv,,, PID
WinWait, ahk_pid %PID%
ID := WinExist()
GroupAdd, miGrupoDeVentanas, ahk_id %ID%

return

#s::GroupActivate, miGrupoDeVentanas ; <<<< para interactuar con ambos
#w::WinRestore, ahk_group miGrupoDeVentanas
#y::WinMinimize, ahk_group miGrupoDeVentanas
#x::WinClose, ahk_group miGrupoDeVentanas
Quedo atento y como siempre muchas gracias
sebaramos
Posts: 19
Joined: 14 Dec 2017, 08:37

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

05 Jan 2018, 13:33

Con tu ejemplo A_AhkUser, Paint y el Bloc funcionan muy bien pero al querer interactuar con mis programas, ejemplo: llevar al frente con #s:: a excel o Qlik, no se puede....tienes alguna idea de por donde pueda ir el problema...
A_AhkUser
Posts: 1147
Joined: 06 Mar 2017, 16:18
Location: France
Contact:

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

06 Jan 2018, 20:35

Hola,

Code: Select all

#p::
run, C:\Users\kibernum.sramos\Desktop\Aes\Reportes\Semanal\Importar datos web8.xlsm,,, PID
WinWait, ahk_pid %PID%
ID := WinExist()
MsgBox, OK
GroupAdd, miGrupoDeVentanas, ahk_id %ID%

run, C:\Program Files\Qlikview\Qv,,, PID
WinWait, ahk_pid %PID%
ID := WinExist()
MsgBox, OK
GroupAdd, miGrupoDeVentanas, ahk_id %ID%

return

#s::GroupActivate, miGrupoDeVentanas ; <<<< para interactuar con ambos
#w::WinRestore, ahk_group miGrupoDeVentanas
#y::WinMinimize, ahk_group miGrupoDeVentanas
#x::WinClose, ahk_group miGrupoDeVentanas
Si el script no tira dos veces OK, vale la pena intentar utilizando otra cosa que el PID - por ejemplo el nombre del proceso:

Code: Select all

run, myProgram.exe
WinWait, ahk_exe myProgram.exe
ID := WinExist()
MsgBox, OK
GroupAdd, miGrupoDeVentanas, ahk_id %ID%
my scripts
sebaramos
Posts: 19
Joined: 14 Dec 2017, 08:37

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

08 Jan 2018, 09:11

Hola A_AhkUser,

Me tira los dos "OK", pero una vez abierto los programas no puedo traer uno y otro al frente con #s::

Probé con el nombre del proceso y tampoco.......lo que me parece extraño es que con Paint y el Bloc de notas funcione.......es lo último que me falta para automatizar por completo una tarea muy aburrida....
A_AhkUser
Posts: 1147
Joined: 06 Mar 2017, 16:18
Location: France
Contact:

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

08 Jan 2018, 12:02

Hola sebaramos,

Prueba eso:

Code: Select all

#If (GroupAdd("miGrupoDeVentanas", "ahk_exe mspaint.exe", "ahk_exe notepad.exe")) ; hace que los hotkeys esten sensibles al contexto
	#s::
		MsgBox, OK
		GroupActivate, miGrupoDeVentanas
	return
	; #y::WinMinimize
	#y::WinMinimize, ahk_group miGrupoDeVentanas
	; #x::WinClose
	#x::WinClose, ahk_group miGrupoDeVentanas
#If

#w::WinRestore, ahk_group miGrupoDeVentanas

GroupAdd(__groupName, __windows*) {
for __each, __window in __windows
	GroupAdd, % __groupName, % __window
return WinExist("ahk_group " . __groupName) ; devuelve un ID ('true') si al menos una ventana sigue existiendo, en caso contrario - 'false'
}
A diferencia del codigo anterior esté utiliza el nombre del proceso y actualiza el grupo cada vez que presiona #s.
Asegurase que el nombre del proceso es correcto ayudándose de AU3_Spy (que se puede encontrar en la carpeta de instalación de AHK).

Code: Select all

!r::
SplitPath, % A_AHKPath,, carpeta
run % carpeta . "\AU3_Spy.exe"
return
Saludos.
my scripts
sebaramos
Posts: 19
Joined: 14 Dec 2017, 08:37

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

08 Jan 2018, 14:23

Esta es la información que me entrega AU3_Spy , podrías indicarme por favor cual sería en este caso el nombre del proceso para esta ventana


>>>>>>>>>>>>>>>>>>>>>>>>>><<<Window Title & Class<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Importar datos web8 - Excel
ahk_class XLMAIN

>>>>>>>>>>>>>>>>>>>>>>>>>(Mouse Position)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
etc.....


probé de las siguientes formas y no compilo:


ahk_exe importar datos web8 - excel.exe
ahk_class importar datos web8 - excel.class
ahk_exe XLMAIN.exe
ahk_class XLMAIN.class

.....

Tu ejemplo nuevamente funciona muy bien con paint y el bloc.....si uso AU3_Spy con Paint, me arroja esta información:

>>>>>>>>>>>>>>>>>>>>>>>>>><<<Window Title & Class<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Sin titulo - Excel
ahk_class MSPaintApp

>>>>>>>>>>>>>>>>>>>>>>>>>(Mouse Position)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
etc.....
sebaramos
Posts: 19
Joined: 14 Dec 2017, 08:37

Re: Como traer una ventana minimizada, al frente (Que quede como principal)

08 Jan 2018, 14:45

ya lo solucione, encontre el nombre del proceso en administrador de tareas :) muchas gracias amigo mio me sirvió muchisimo tu ayuda!!

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 19 guests