透過向上捲動工作列圖示開啟非活動窗口

透過向上捲動工作列圖示開啟非活動窗口

問題:

當我向上滾動視窗中的圖示時,我想使用滾輪開啟非活動窗口工作列在 Windows 10 中。

是否有一個設定或程式可以做到這一點?

為什麼:

我一直在 Linux 系統上工作,現在習慣於向上滾動圖示以開啟非活動視窗。這對工作流程有很好的感覺,我想將其轉移到 Windows 10,但找不到任何可以做到這一點的東西。是的,我知道我可以點擊它,但有時滾動一下也很好,因為工作時我的手指很多時候已經在那裡了。

筆記: 我是不是尋找非活動的懸停滾動功能,效果很好。

答案1

您可以使用自動熱鍵去做這個。基本上,您告訴它,如果您的遊標位於任務欄或從中打開的預覽縮圖之一上,則使用滑鼠滾輪向上滾動會發送左鍵單擊,否則會向上滾動。

這需要使用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上,有沒有辦法讓滾輪焦點跟著滑鼠?

相關內容