Abra una ventana inactiva desplazándose hacia arriba en el ícono de la barra de tareas

Abra una ventana inactiva desplazándose hacia arriba en el ícono de la barra de tareas

Pregunta:

Quiero usar mi rueda de desplazamiento para abrir una ventana inactiva cuando me desplazo hacia arriba en un ícono en elbarra de tareasen Windows 10. El mismo comportamiento que en Ubuntu cuando te desplazas hacia arriba en un ícono en la barra de tareas.

¿Existe una configuración para hacer esto o un programa?

Por qué:

He estado trabajando en un sistema Linux y ahora estoy acostumbrado a desplazarme hacia arriba en un ícono para abrir una ventana inactiva. Tiene una buena sensación para el flujo de trabajo. Me gustaría transferir esto a Windows 10, pero no encuentro nada que haga esto. Sí, sé que puedo simplemente hacer clic en él, pero a veces es bueno simplemente desplazarme porque mi dedo ya está allí la mayor parte del tiempo cuando trabajo.

Nota: Soynobuscando la funcionalidad inactiva de desplazamiento sobre el desplazamiento, eso funciona bien.

Respuesta1

Puedes usarAutoHotkeypara hacer esto. Básicamente, le dice que si su cursor está sobre la barra de tareas o una de las miniaturas de vista previa que se abre desde allí, al desplazarse hacia arriba con la rueda del mouse se envía un clic izquierdo; de lo contrario, se desplaza hacia arriba.

Esto requiere el uso de la API de Windows. Probé este script y parece funcionar como usted desea, aunque creo que enviará un clic.en cualquier lugaren la barra de tareas, y no sólo sobre los iconos de las ventanas. Me temo que eso es lo mejor que pude lograr.

GetWinUnderMouse(what="Title")
{
    ; Allocate the memory (8 bytes) for the POINT structure
    VarSetCapacity(POINT, 8, 0)

    ; Call the GetCursorPos function with the address 
    ; of the POINT structure we just created
    DllCall("GetCursorPos", uint, &POINT)

    ; Use NumGet to get the information out of the structure
    ; the x-value is stored in the first 4 bytes, and 
    ; the y-value in the last 4
    X := NumGet(POINT, 0)
    Y := NumGet(POINT, 4)

    return GetWinAtCoords(X, Y, what)
}

GetWinAtCoords(x,y,what="Title")      ; by SKAN and Learning one
{
    ; Returns Title/ID/Class/PID of window at given coordinates
    WinID := DllCall( "GetAncestor", UInt      ; by SKAN
           ,DllCall( "WindowFromPoint", Int,X, Int,Y )
           , UInt, GA_ROOT := 2)
    if what = Title
    {
        WinGetTitle, WinTitle, ahk_id %WinID%
        Return WinTitle
    }
    else if what = ID
    Return WinID
    else if what = Class
    {
        WinGetClass, WinClass, ahk_id %WinID%
        Return WinClass
    }
    else if what = PID
    {
        WinGet, WinPID, PID, ahk_id %WinID%
        Return WinPID
    }
}

WheelUp::
    PointedClass := GetWinUnderMouse("Class")
    if (PointedClass = "TaskListThumbnailWnd" or PointedClass = "Shell_TrayWnd")
    {
        Send, {LButton}
    }
    else
    {
        Send, {WheelUp}
    }
Return

Si agrega una tilde (~) antes WheelUp::, la funcionalidad de rueda hacia arriba permanecerá incluso cuando se envíe un clic izquierdo (también puede eliminar la elsecláusula allí si lo hace).

Para usarlo, simplemente instale el programa, coloque el script en un archivo y ejecútelo.

Respuesta2

¡Podrías usar algunos programas como AlwaysMouseWheel, X-Button Mouse Control! En Windows 7, ¿hay alguna manera de hacer que el foco de la rueda de desplazamiento siga al mouse?

información relacionada