Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Contém informações sobre um evento simulado do mouse.
Sintaxe
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
Members
dx
Tipo: LONG
A posição absoluta do mouse ou a quantidade de movimento desde que o último evento do mouse foi gerado, dependendo do valor do membro dwFlags . Dados absolutos são especificados como a coordenada x do mouse; os dados relativos são especificados à medida que o número de pixels é movido.
dy
Tipo: LONG
A posição absoluta do mouse ou a quantidade de movimento desde que o último evento do mouse foi gerado, dependendo do valor do membro dwFlags . Dados absolutos são especificados como a coordenada y do mouse; os dados relativos são especificados à medida que o número de pixels é movido.
mouseData
Tipo: DWORD
Se dwFlagscontiver MOUSEEVENTF_WHEEL, o mouseData especifica a quantidade de movimento da roda. Um valor positivo indica que a roda foi girada para frente, longe do usuário; um valor negativo indica que a roda foi girada para trás, em direção ao usuário. Um clique de roda é definido como WHEEL_DELTA, que é 120.
Windows Vista: Se dwFlagscontiver MOUSEEVENTF_HWHEEL, dwData especifica a quantidade de movimento da roda. Um valor positivo indica que a roda foi girada para a direita; um valor negativo indica que a roda foi girada para a esquerda. Um clique de roda é definido como WHEEL_DELTA, que é 120.
Se dwFlags não contiver MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP, o mouseData deverá ser zero.
Se dwFlags contiver MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP, o mouseData especifica quais botões X foram pressionados ou liberados. Esse valor pode ser qualquer combinação dos sinalizadores a seguir.
| Value | Meaning |
|---|---|
|
XBUTTON1 0x0001 |
Defina se o primeiro botão X for pressionado ou liberado. |
|
XBUTTON2 0x0002 |
Defina se o segundo botão X for pressionado ou liberado. |
dwFlags
Tipo: DWORD
Um conjunto de sinalizadores de bits que especificam vários aspectos do movimento do mouse e cliques no botão. Os bits neste membro podem ser qualquer combinação razoável dos valores a seguir.
Os sinalizadores de bits que especificam o status do botão do mouse são definidos para indicar alterações no status, não em condições contínuas. Por exemplo, se o botão esquerdo do mouse for pressionado e pressionado, MOUSEEVENTF_LEFTDOWN será definido quando o botão esquerdo for pressionado pela primeira vez, mas não para movimentos subsequentes. Da mesma forma , MOUSEEVENTF_LEFTUP é definido somente quando o botão é liberado pela primeira vez.
Não é possível especificar o sinalizador MOUSEEVENTF_WHEEL e sinalizadores MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP simultaneamente no parâmetro dwFlags , pois ambos exigem o uso do campo mouseData .
| Value | Meaning |
|---|---|
|
MOUSEEVENTF_MOVE 0x0001 |
O movimento ocorreu. |
|
MOUSEEVENTF_LEFTDOWN 0x0002 |
O botão esquerdo foi pressionado. |
|
MOUSEEVENTF_LEFTUP 0x0004 |
O botão esquerdo foi liberado. |
|
MOUSEEVENTF_RIGHTDOWN 0x0008 |
O botão direito foi pressionado. |
|
MOUSEEVENTF_RIGHTUP 0x0010 |
O botão direito foi liberado. |
|
MOUSEEVENTF_MIDDLEDOWN 0x0020 |
O botão do meio foi pressionado. |
|
MOUSEEVENTF_MIDDLEUP 0x0040 |
O botão do meio foi liberado. |
|
MOUSEEVENTF_XDOWN 0x0080 |
Um botão X foi pressionado. |
|
MOUSEEVENTF_XUP 0x0100 |
Um botão X foi liberado. |
|
MOUSEEVENTF_WHEEL 0x0800 |
A roda foi movida, se o mouse tiver uma roda. A quantidade de movimento é especificada no mouseData. |
|
MOUSEEVENTF_HWHEEL 0x1000 |
A roda foi movida horizontalmente, se o mouse tiver uma roda. A quantidade de movimento é especificada no mouseData. Windows XP/2000: não há suporte para esse valor. |
|
MOUSEEVENTF_MOVE_NOCOALESCE 0x2000 |
As mensagens WM_MOUSEMOVE não serão coalessadas. O comportamento padrão é unir mensagens WM_MOUSEMOVE . Windows XP/2000: não há suporte para esse valor. |
|
MOUSEEVENTF_VIRTUALDESK 0x4000 |
Mapeia coordenadas para toda a área de trabalho. Deve ser usado com MOUSEEVENTF_ABSOLUTE. |
|
MOUSEEVENTF_ABSOLUTE 0x8000 |
Os membros dx e dy contêm coordenadas absolutas normalizadas. Se o sinalizador não estiver definido, dx e dy conterão dados relativos (a alteração na posição desde a última posição relatada). Esse sinalizador pode ser definido ou não definido, independentemente do tipo de mouse ou outro dispositivo que aponta, se houver, estar conectado ao sistema. Para obter mais informações sobre o movimento relativo do mouse, consulte a seção Comentários a seguir. |
time
Tipo: DWORD
O carimbo de data/hora do evento, em milissegundos. Se esse parâmetro for 0, o sistema fornecerá seu próprio carimbo de data/hora.
dwExtraInfo
Tipo: ULONG_PTR
Um valor adicional associado ao evento do mouse. Um aplicativo chama GetMessageExtraInfo para obter essas informações extras.
Observações
Se o mouse foi movido, indicado por MOUSEEVENTF_MOVE, dx e dy especificam informações sobre esse movimento. As informações são especificadas como valores inteiros absolutos ou relativos.
Se MOUSEEVENTF_ABSOLUTE valor for especificado, dx e dy conterão coordenadas absolutas normalizadas entre 0 e 65.535. O procedimento de evento mapeia essas coordenadas para a superfície de exibição. A coordenada (0,0) é mapeada para o canto superior esquerdo da superfície de exibição; coordenada (65535.65535) mapeia para o canto inferior direito. Em um sistema multimonitor, as coordenadas são mapeadas para o monitor primário.
Se MOUSEEVENTF_VIRTUALDESK for especificado, as coordenadas serão mapeadas para toda a área de trabalho virtual.
Se o valor MOUSEEVENTF_ABSOLUTE não for especificado, dx e dy especificarão o movimento em relação ao evento anterior do mouse (a última posição relatada). Valores positivos significam que o mouse foi movido para a direita (ou para baixo); valores negativos significam que o mouse foi movido para a esquerda (ou para cima).
O movimento relativo do mouse está sujeito aos efeitos da velocidade do mouse e dos valores de limite de dois mouses. Um usuário define esses três valores com o controle deslizante de Velocidade do Ponteiro da folha Propriedades do Mouse do Painel de Controle. Você pode obter e definir esses valores usando a função SystemParametersInfo .
O sistema aplica dois testes ao movimento relativo do mouse especificado. Se a distância especificada ao longo do eixo x ou y for maior que o primeiro valor de limite do mouse e a velocidade do mouse não for zero, o sistema dobrará a distância. Se a distância especificada ao longo do eixo x ou y for maior que o segundo valor de limite do mouse e a velocidade do mouse for igual a duas, o sistema dobrará a distância resultante da aplicação do primeiro teste de limite. Portanto, é possível que o sistema multiplique o movimento relativo do mouse especificado ao longo do eixo x ou y em até quatro vezes.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 2000 Professional [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows 2000 Server [somente aplicativos da área de trabalho] |
| Header | winuser.h (inclua Windows.h) |
Consulte também
Conceitual
Referência