Öffnen Sie inaktive Fenster, indem Sie auf dem Taskleistensymbol nach oben scrollen

Öffnen Sie inaktive Fenster, indem Sie auf dem Taskleistensymbol nach oben scrollen

Frage:

Ich möchte mein Scrollrad verwenden, um ein inaktives Fenster zu öffnen, wenn ich auf einem Symbol imTaskleistein Windows 10. Dasselbe Verhalten wie in Ubuntu, wenn Sie auf einem Symbol in der Taskleiste nach oben scrollen.

Gibt es hierfür eine Einstellung oder ein Programm?

Warum:

Ich habe an einem Linux-System gearbeitet und bin es jetzt gewohnt, auf einem Symbol nach oben zu scrollen, um ein inaktives Fenster zu öffnen. Das ist ein gutes Gefühl für den Arbeitsablauf. Ich würde das gerne auf Windows 10 übertragen, kann aber nichts finden, das dies tut. Ja, ich weiß, ich kann einfach darauf klicken, aber manchmal ist es schön, einfach zu scrollen, da mein Finger beim Arbeiten die meiste Zeit sowieso dort ist.

Notiz: Ich binnichtSuche nach der inaktiven Hover-Scroll-Funktionalität, die funktioniert einwandfrei.

Antwort1

Sie könnenAutoHotkeyum dies zu tun. Im Grunde sagen Sie ihm, dass, wenn sich Ihr Cursor über der Taskleiste oder einer der Vorschau-Miniaturansichten befindet, die sich daraus öffnen, das Hochscrollen mit dem Mausrad einen Linksklick sendet, andernfalls wird nach oben gescrollt.

Dies erfordert die Verwendung der Windows-API. Ich habe dieses Skript getestet und es scheint wie gewünscht zu funktionieren, obwohl ich glaube, dass es einen Klick sendetüberallauf der Taskleiste und nicht nur über Fenstersymbolen. Ich fürchte, das ist das Beste, was ich hinbekommen habe.

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

Wenn Sie davor eine Tilde (~) hinzufügen, bleibt die Funktion „Rad nach oben“ auch dann erhalten, wenn ein Linksklick gesendet wird ( in diesem Fall können Sie die darin enthaltene Klausel WheelUp::auch weglassen ).else

Zur Verwendung installieren Sie einfach das Programm, fügen das Skript in eine Datei ein und führen es aus.

Antwort2

Sie könnten einige Programme wie AlwaysMouseWheel oder X-Button Mouse Control verwenden! Gibt es unter Windows 7 eine Möglichkeit, den Fokus des Scrollrads der Maus folgen zu lassen?

verwandte Informationen