Bom dia Alessandro Sena.
A roda do mouse é um botão diferenciado, pois tem dois modos de acionamento: apertando ou rolando (e este pode ser para cima ou para baixo).
Assim, temos três comandos possíveis: MButton, WheelUp e WheelDown.
No Firefox, por exemplo, o pressionar do MButton tem o efeito de criar um ícone no local do click e depois e deixar o usuário rolar a tela da página para cima ou para baixo apenas movendo o mouse para cima e para baixo. Já os comandos da roda (WheelUp e WheelDown) rolam a tela da página diretamente.
Se você quiser recriar o efeito desses botões, acredito que o MButton é o mais fácil, pois ele se comporta como um outro botão do teclado qualquer (e o nome é MButton mesmo). Já recriar o efeito de "rodar a rodinha do mouse" vai necessitar que você planeje um pouco mais na rotina, pois
a rodinha envia vários sinais consecutivos quando vc roda ela (tantos quanto o total que você a rodou). Isso significa que você precisa se preocupar com a
quantidade de sinais.
Exemplo no código abaixo apertar F2 ou F3 vai enviar 6 sinais de roda. Veja o comportamento no firefox ou outros programa que role a tela. Depois aumente ou diminua o número indicado conforme queira aumenta ou diminuir o efeito (quanto a tela rola).
Code: Select all
f2::
send {wheelup 6}
Return
f3::
send {wheeldown 6}
Return

Outra possibilidade é que você queira fazer de forma que segurar um botão vai rolar a tela, e que quanto mais você segurar o botão, mais a tela rode. Isso pode ser feito utilizando-se do comando SetTimer junto com algumas condicionais e um pouco de lógica:
Code: Select all
F2_ATIVADO := 0
F3_ATIVADO := 0
f2::
If (F2_ATIVADO)
{
Return
}
Else
{
F2_ATIVADO := 1
SetTimer, ROLAR_PARA_BAIXO, 100
}
Return
f2 up::
SetTimer, ROLAR_PARA_BAIXO, Off
F2_ATIVADO := 0
Return
f3::
If (F3_ATIVADO)
{
Return
}
Else
{
F3_ATIVADO := 1
SetTimer, ROLAR_PARA_CIMA, 100
}
Return
f3 up::
SetTimer, ROLAR_PARA_CIMA, Off
F3_ATIVADO := 0
Return
ROLAR_PARA_BAIXO:
Send {WheelDown 2}
Return
ROLAR_PARA_CIMA:
Send {WheelUp 2}
Return
Espero ter ajudado. Se ainda tiver alguma dúvida sinta-se livre para postar abaixo
