Откройте неактивное окно, прокрутив вверх значок на панели задач

Откройте неактивное окно, прокрутив вверх значок на панели задач

Вопрос:

Я хочу использовать колесо прокрутки, чтобы открывать неактивное окно, когда я прокручиваю вверх значок впанель задачв Windows 10. То же самое поведение, что и в Ubuntu, когда вы прокручиваете вверх значок на панели задач.

Есть ли для этого настройка или программа?

Почему:

Я работал на системе Linux и теперь привык прокручивать вверх по иконке, чтобы открыть неактивное окно. Это приятно для рабочего процесса, я хотел бы перенести это на Windows 10, но не могу найти ничего, что делает это. Да, я знаю, что могу просто нажать на него, но иногда приятно просто прокрутить, так как мой палец уже там большую часть времени во время работы.

Примечание: Янетищу неактивную функцию наведения при прокрутке, она работает просто отлично.

решение1

Вы можете использоватьAutoHotkeyчтобы сделать это. По сути, вы сообщаете ему, что если ваш курсор находится над панелью задач или над одной из миниатюр предварительного просмотра, которая открывается из нее, то прокрутка вверх колесиком мыши посылает левый щелчок, в противном случае он прокручивает вверх.

Это требует использования Windows API. Я протестировал этот скрипт, и он, кажется, работает так, как вы хотите, хотя я считаю, что он отправит щелчокв любом местена панели задач, а не только поверх иконок окон. Боюсь, это лучшее, что я смог сделать.

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

Если вы добавите тильду (~) до WheelUp::этого, то функциональность прокрутки колесика останется даже при отправке левого щелчка (вы также можете убрать это elseпредложение, если сделаете это).

Для использования просто установите программу, поместите скрипт в файл и запустите его.

решение2

Вы можете использовать некоторые программы, такие как AlwaysMouseWheel, X-Button Mouse Control! Есть ли способ заставить колесо прокрутки следовать за мышью в Windows 7?

Связанный контент