Pergunta:
Quero usar minha roda de rolagem para abrir uma janela inativa quando rolar para cima um ícone nobarra de tarefasno Windows 10. O mesmo comportamento do Ubuntu quando você rola para cima em um ícone na barra de tarefas.
Existe uma configuração para fazer isso ou programa?
Por que:
Estou trabalhando em um sistema Linux e agora estou acostumado a rolar um ícone para cima para abrir uma janela inativa. Isso dá uma boa sensação para o fluxo de trabalho, gostaria de transferir isso para o Windows 10, mas não consigo encontrar nada que faça isso. Sim, eu sei que posso simplesmente clicar nele, mas às vezes é bom apenas rolar, pois meu dedo já está lá a maior parte do tempo enquanto trabalho.
Observação: Eu sounãoprocurando a funcionalidade inativa de passar o mouse sobre a rolagem, isso funciona perfeitamente.
Responder1
Você pode usarAutoHotkeypara fazer isso. Basicamente, você diz que se o cursor estiver sobre a barra de tarefas ou sobre uma das miniaturas de visualização que se abrem, rolar para cima com a roda do mouse envia um clique com o botão esquerdo, caso contrário, rola para cima.
Isso requer o uso da API do Windows. Eu testei este script e parece funcionar como você deseja, mas acredito que enviará um cliqueem qualquer lugarna barra de tarefas, e não apenas nos ícones das janelas. Receio que seja o melhor que consegui.
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
Se você adicionar um til (~) antes WheelUp::
, a funcionalidade de rodar permanecerá mesmo quando um clique com o botão esquerdo for enviado (você também pode eliminar a else
cláusula se fizer isso).
Para utilizar, basta instalar o programa, colocar o script em um arquivo e executá-lo.
Responder2
Você pode usar alguns programas como AlwaysMouseWheel, X-Button Mouse Control! No Windows 7, existe alguma maneira de fazer com que o foco da roda de rolagem siga o mouse?