controlar pulsación en ventana sin foco

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

Moderator: Flipeador

jarcos
Posts: 3
Joined: 26 Dec 2018, 03:17

controlar pulsación en ventana sin foco

28 Dec 2018, 10:51

Esta ahora he logrado controlar la pulsación cuando tiene el foco. Por ejemplo:

Code: Select all

WinGet, IdVentana, List, ahk_exe notepad.exe
;***********************************************
;Standard Keyboard keys
;***********************************************
~1::
IfWinActive, ahk_id %IdVentana1% 
{
StringTrimLeft, ThisKey, A_ThisHotKey, 1
ControlSend,, %ThisKey%, ahk_id %IdVentana2%  
Return
}
Con este código si escribe la tecla 1 en el notepad principal me escribe un 1 en el notepad secundario.

Hasta aquí todo bien.

Pero yo quiero tener la ventana notepad principal sin el foco. Y al mandar un 1 a esa ventana sin foco (lo mando con c#) que AutoHotkey lo detecte y me mande el 1 a la ventana 2.

Como no se mucho de autohotkey me he puesto a hacer pruebas con IfWinNotActive pero no he logrado nada.

Gracias.
devnullsp
Posts: 73
Joined: 21 Nov 2017, 09:00

Re: controlar pulsación en ventana sin foco

01 Feb 2019, 19:53

Puedes explicar un poco más el objetivo,

¿Quieres tener los dos notepads sincronizados?
No puede cambiar el codigo del c# supongo....

ten en cuenta que en tu ejemplo estas usando una hotkey del teclado no de una aplicación por lo que no creo que sea eso lo que tu esperas...

A ver si lo entiendo..

Un Saludo,
TheVoid75
Posts: 2
Joined: 21 Feb 2019, 22:15

Re: controlar pulsación en ventana sin foco

28 Feb 2019, 12:04

devnullsp wrote:
01 Feb 2019, 19:53
Puedes explicar un poco más el objetivo,

¿Quieres tener los dos notepads sincronizados?
No puede cambiar el codigo del c# supongo....

ten en cuenta que en tu ejemplo estas usando una hotkey del teclado no de una aplicación por lo que no creo que sea eso lo que tu esperas...

A ver si lo entiendo..

Un Saludo,
Creo que se refiere a que cuando estas en el escritorio al apretar una tecla asignada por él en el notepad se escriba 1 en ambas ventanas sin que aparezca el notepad en pantalla, el problema es que yo tampoco se si se puede hacer como para decirle :s (Y tambien me interesa)
devnullsp
Posts: 73
Joined: 21 Nov 2017, 09:00

Re: controlar pulsación en ventana sin foco

13 Mar 2019, 18:55

No se si es esto, pero te puede dar una pista... supongo que será jugar con el hook para ver que se puede obtener....

https://autohotkey.com/board/topic/82792-solved-register-function-for-window-events/

en concreto:

Code: Select all

SetBatchLines, -1
Process, Priority,, High

Gui +LastFound
hWnd := WinExist()

DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )

return

ShellMessage( wParam,lParam )
{
	If ( wParam = 1 ) ;  HSHELL_WINDOWCREATED := 1
	{
		If GetKeyState("Shift", "P")
			return
		WinGetTitle, Title, ahk_id %lParam%
		If Title contains Downloads,Biblioteca,Thunderbird,Edição
			return
		WinGetClass, Class, ahk_id %lParam%
		If  (Class = "MozillaWindowClass")
		{
			WinGet, FFWnd, Count, ahk_class MozillaWindowClass
			If (FFWnd > 1)
				WinClose, ahk_id %lParam%
		}
	}
}
El api a lo mejor no es exactamente lo que quieres ya que aqui tira de crear vetanas, pero es un paso donde investigar.

Un Saludo,

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 39 guests