A estrutura de entrada é usada pelo SendInput sintetizar teclas, movimentos do mouse, e clica em botão.
typedef struct tagINPUT {
Digite DWORD;
União
{
MOUSEINPUT mi;
KEYBDINPUT ki;
HARDWAREINPUT Oi;
};
} ENTRADA * PINPUT, ATÉ AGORA * LPINPUT
Valor | Significado |
---|---|
INPUT_MOUSE | O evento é um evento do mouse. Use a estrutura de mi da União. |
INPUT_KEYBOARD | O evento é um evento de teclado. Use a estrutura de ki da União. |
INPUT_HARDWARE | Windows 95: O evento é de entrada hardware diferente de um teclado ou rato. Uso a Oi estrutura da União. |
typedef struct tagMOUSEINPUT {
Dx longo;
Dy longo;
DWORD mouseData;
DWORD dwFlags;
DWORD de tempo;
DWORD dwExtraInfo;
} MOUSEINPUT, * PMOUSEINPUT, ATÉ AGORA * LPMOUSEINPUT
Se dwFlags não MOUSEEVENTF_WHEEL, mouseData deve ser zero.
Valor | Significado |
---|---|
MOUSEEVENTF_ABSOLUTE | Especifica que os membros de dx e dy contenham normalizadas coordenadas absolutas. Se o sinalizador não estiver definido, o dx e dy Membros contêm dados relativos: a mudança de posição desde a última relatado posição. Este sinalizador pode ser definido ou não definido, independentemente de que tipo de mouse ou outro dispositivo apontador, se houver, está conectado ao sistema. Para obter mais informações sobre relativo mouse animação, consulte a seguinte seção Comentários. |
MOUSEEVENTF_MOVE | Especifica que o movimento ocorreu. |
MOUSEEVENTF_LEFTDOWN | Especifica que o botão esquerdo foi pressionado. |
MOUSEEVENTF_LEFTUP | Especifica que o botão esquerdo foi lançado. |
MOUSEEVENTF_RIGHTDOWN | Especifica que o botão direito foi pressionado. |
MOUSEEVENTF_RIGHTUP | Especifica que o botão direito foi lançado. |
MOUSEEVENTF_MIDDLEDOWN | Especifica que o botão do meio foi pressionado. |
MOUSEEVENTF_MIDDLEUP | Especifica que o botão do meio foi lançado. |
MOUSEEVENTF_WHEEL | Windows NT: Especifica que a roda foi movida, se o mouse tiver uma roda. A quantidade de movimento é especificada em mouseData. |
Os bit sinalizadores que especificar o estado de botão do mouse são definidos para indicar as alterações do estatuto, condições não em curso. Por exemplo, se o botão esquerdo do mouse é pressionado e mantido pressionado, MOUSEEVENTF_LEFTDOWN é definido quando o botão esquerdo é pressionado pela primeira vez, mas não para movimentos subseqüentes. Da mesma forma, MOUSEEVENTF_LEFTUP é definida somente quando o botão é lançado.
typedef struct tagKEYBDINPUT {
PALAVRA wVk;
PALAVRA wScan;
DWORD dwFlags;
DWORD de tempo;
DWORD dwExtraInfo;
} KEYBDINPUT, * PKEYBDINPUT, ATÉ AGORA * LPKEYBDINPUT
Valor | Significado |
---|---|
KEYEVENTF_EXTENDEDKEY | Se especificado, o código de verificação foi precedido por um byte de prefixo que tem o valor 0xE0 (224). |
KEYEVENTF_KEYUP | Se especificado, a chave está sendo lançada. Se não for especificado, a chave é pressionada. |
typedef struct tagHARDWAREINPUT {
DWORD uMsg;
PALAVRA wParamL;
PALAVRA wParamH;
DWORD dwExtraInfo;
} HARDWAREINPUT, * PHARDWAREINPUT, ATÉ AGORA * LPHARDWAREINPUT
Se o mouse foi movido, indicado pelo MOUSEEVENTF_MOVE está sendo definido, dx e dy especificam informações sobre esse movimento. A informação é dada como valores inteiros absoluto ou relativo.
Se valor MOUSEEVENTF_ABSOLUTE for especificada, dx e dy contenham normalizadas coordenadas absolutas entre 0 e 65.535. O procedimento de evento mapeia essas coordenadas para o superfície de exibição. Coordenar mapas (0,0) no canto superior esquerdo da superfície de exibição; coordenar mapas (65535,65535) para o canto inferior direito.
Se o valor MOUSEEVENTF_ABSOLUTE não for especificado, dx e dy especificam movimentos relativo para o evento de mouse anterior (a última posição relatada). Valores positivos significam o mouse movido à direita (ou para baixo); valores negativos significam o mouse movido à esquerda (ou para cima).
Animação mouse relativo é sujeito aos efeitos da velocidade do mouse e os valores de limite dois mouse. Um usuário define esses três valores com o controle deslizante Velocidade do ponteiro da folha dePropriedades de Mousedo painel de controle. Um aplicativo obtém e define esses valores com o SystemParametersInfo função .
O sistema operacional se aplica a dois testes para o movimento do mouse relativo especificado. Se a distância especificada ao longo do eixo x ou y é maior que o valor de limiar do mouse primeiro e a velocidade do mouse não for zero, o sistema operacional dobra a distância. Se a distância especificada ao longo do eixo x ou y é maior que o segundo valor de limiar do mouse e a velocidade do mouse é igual a dois, o sistema operacional dobra a distância que resultou da aplicação do primeiro teste de limiar. Assim, é possível para o sistema operacional multiplicar o movimento de mouse especificado relativo ao longo de x ou y eixo por até quatro vezes.
nbsp; Windows &NT: requer versão 4.0 SP3 ou posterior.
Windows:Requer o Windows 98 ou posterior.
Windows CE:Sem suporte.
Cabeçalho:Declarado em WinUser. h.
Visão geral de entrada de teclado, estruturas de entrada do teclado, GetMessageExtraInfo, SendInput, SystemParametersInfo