ControlEnviar

ControlEnviar

Utilizo principalmente Chrome, pero estoy abierto a utilizar cualquier navegador que me permita hacerlo.

En Windows 10 puedes desplazarte por cualquier ventana, incluso si no está activa actualmente, pasando el mouse sobre ella y usando la rueda de desplazamiento.

¿Es posible cambiar de alguna manera las pestañas del navegador de una ventana inactiva?

TBH, creo recordar que el desplazamiento hacia la izquierda/derecha (al menos las llamadas funciones de mi mouse, una de Logitech) funcionó hace algún tiempo, pero parece que ya no es así.

Editar: Estaba a punto de hacer la misma pregunta, la SU me dijo que ya lo había hecho. Entonces golpe...

Respuesta1

Una forma de hacerlo sería a través de un script AHK usando elControlSendfunción para pasar pulsaciones de teclas simuladas directamente a la ventana deseada (esto se puede hacer en ventanas inactivas, minimizadas u ocultas). Luego puede vincular cualquier secuencia que funcione para usted directamente a una tecla de acceso rápido para mayor comodidad. Aquí hay una copia directa de la página de documentación de AHK (vinculada arriba) en caso de que la página alguna vez se caiga:

ControlEnviar[Sin procesar]

Envía pulsaciones de teclas simuladas a una ventana o control.
ControlSend [, Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText]
ControlSendRaw: Los mismos parámetros que arriba.

Parámetros

Control

Puede ser ClassNN (el nombre de clase y el número de instancia del control) o el texto del control, los cuales pueden determinarse mediante Window Spy. Cuando se utiliza texto, el comportamiento de coincidencia lo determina SetTitleMatchMode. Si este parámetro está en blanco o se omite, se utilizará el control superior de la ventana de destino. Si este parámetro es ahk_parent, las pulsaciones de teclas se enviarán directamente a la ventana de destino en lugar de a uno de sus controles (consulte Automatización de Winamp para ver un ejemplo).
Para operar con el HWND (identificador de ventana) de un control, deje el parámetro Control en blanco y especifique ahk_id %ControlHwnd% para el parámetro WinTitle (esto también funciona en controles ocultos incluso cuando DetectHiddenWindows está desactivado). El HWND de un control normalmente se recupera mediante ControlGet Hwnd, MouseGetPos o DllCall().

Llaves

La secuencia de teclas para enviar (consulte el comando Enviar para obtener más detalles). Para enviar una coma literal, escápela (`,). La velocidad a la que se envían los caracteres está determinada por SetKeyDelay. A diferencia del comando Enviar, ControlSend no puede enviar clics del mouse. Utilice ControlClick para eso.

WinTítulo

Un título de ventana u otros criterios que identifican la ventana de destino. Consulte WinTitle.

WinText

Si está presente, este parámetro debe ser una subcadena de un único elemento de texto de la ventana de destino (como lo revela la utilidad Window Spy incluida). Los elementos de texto ocultos se detectan si DetectHiddenText está activado.

Excluir título

No se considerarán ventanas cuyos títulos incluyan este valor.

Excluir texto

No se tendrán en cuenta las ventanas cuyo texto incluya este valor.

Manejo de errores

[v1.1.04+]: este comando puede generar una excepción en caso de falla. Para obtener más información, consulte Errores de tiempo de ejecución.

ErrorLevel se establece en 1 si hubo un problema o en 0 en caso contrario.

Observaciones

ControlSendRaw envía las pulsaciones de teclas en el parámetro Teclas sin traducir {Intro} a Intro, ^c a Control+C, etc. Para obtener más información, consulte Modo sin procesar. También es válido utilizar {Raw} o {Text} con ControlSend. [v1.1.27+]: el modo de texto puede ser más confiable para enviar texto.
Si se omite el parámetro Control, este comando intentará enviar directamente a la ventana de destino enviando a su control superior (que suele ser el correcto) o a la ventana misma si no hay controles. Esto es útil si una ventana parece no tener ningún control, o simplemente por la conveniencia de no tener que preocuparse sobre a qué control enviar.
De forma predeterminada, las pulsaciones de teclas modificadoras (Control, Alt, Shift y Win) se envían como lo haría normalmente mediante el comando Enviar. Esto permite que el símbolo del sistema y otras ventanas de la consola detecten correctamente letras mayúsculas, caracteres de control, etc. También puede mejorar la confiabilidad de otras maneras.
Sin embargo, en algunos casos estos eventos modificadores pueden interferir con la ventana activa, especialmente si el usuario está escribiendo activamente durante un ControlSend o si se envía la tecla Alt (ya que Alt activa la barra de menú de la ventana activa). Esto se puede evitar enviando explícitamente eventos modificadores hacia arriba y hacia abajo como en este ejemplo:

ControlSend, Edit1, {Alt down}f{Alt up}, Untitled - Notepad
El método anterior también permite el envío de pulsaciones de teclas modificadoras (Control/Alt/Shift/Win) mientras la estación de trabajo está bloqueada (protegida mediante un mensaje de inicio de sesión).
Se debe evitar BlockInput cuando se utiliza ControlSend en una ventana de consola, como el símbolo del sistema. Esto se debe a que podría impedir que las mayúsculas y las teclas modificadoras, como Control, funcionen correctamente.
El valor de SetKeyDelay determina la velocidad a la que se envían las claves. Si la ventana de destino no recibe las pulsaciones de teclas de manera confiable, intente aumentar la duración de la pulsación mediante el segundo parámetro de SetKeyDelay como en estos ejemplos: SetKeyDelay, 10, 10 SetKeyDelay, 0, 10 SetKeyDelay, -1, 0 Si el control de destino es un control de edición (o algo similar), los siguientes suelen ser más confiables y rápidos que ControlSend: Control, EditPaste, This text will be inserted at the caret position., ControlName, WinTitle
ControlSetText, ControlName, This text will entirely replace any current text., WinTitle
ControlSend generalmente no es capaz de manipular la barra de menú de una ventana. Para solucionar este problema, utilice WinMenuSelectItem. Si eso no es posible debido a la naturaleza de la barra de menú, puede intentar descubrir el mensaje que corresponde al elemento del menú deseado siguiendo el Tutorial de SendMessage.
Los títulos y el texto de las ventanas distinguen entre mayúsculas y minúsculas. Las ventanas ocultas no se detectan a menos que se haya activado DetectHiddenWindows.

Relacionado

SetKeyDelay, Secuencias de escape (p. ej. `%), Control, ControlGet, ControlGetText, ControlMove, ControlGetPos, ControlClick, ControlSetText, ControlFocus, Send, Automatización de Winamp...

información relacionada