ENTRADA

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 

Membros

tipo
Especifica o tipo de evento de entrada. Ele pode ser uma dos seguinte valores.
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.

mi
Especifica um evento do mouse.
typedef struct tagMOUSEINPUT {
    Dx longo;
    Dy longo;
    DWORD mouseData;
    DWORD dwFlags;
    DWORD de tempo;
    DWORD dwExtraInfo;
} MOUSEINPUT, * PMOUSEINPUT, ATÉ AGORA * LPMOUSEINPUT 

dx, dy
Especifica a posição absoluta do rato ou sua quantidade de movimento desde o último evento mouse foi gerado, dependendo da configuração de MOUSEEVENTF_ABSOLUTE em dwFlags. Dados absolutos é dada como do rato real x - e y-coordenadas; dados relativos é dado como o número de pixels movidos.
mouseData
Se dwFlags contém MOUSEEVENTF_WHEEL, mouseData especifica a quantidade de movimento da roda. Um valor positivo indica que a roda foi girada, away from o usuário; um valor negativo indica que a roda foi girada para trás, em direção ao usuário. Um clique da roda é definido como WHEEL_DELTA, que é 120.

Se dwFlags não MOUSEEVENTF_WHEEL, mouseData deve ser zero.

dwFlags
Um conjunto de bit sinalizadores que especificar vários aspectos do movimento do mouse e botão clica. Os bits este membro podem ser qualquer combinação do seguinte valores razoável.
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.

tempo de
Carimbo de hora para o evento.
dwExtraInfo
Especifica um valor de 32 bits adicional associado com o evento de mouse. Um aplicativo chama GetMessageExtraInfo para obter esta informação extra.
ki
Especifica um evento de teclado.
typedef struct tagKEYBDINPUT {
    PALAVRA wVk;
    PALAVRA wScan;
    DWORD dwFlags;
    DWORD de tempo;
    DWORD dwExtraInfo;
} KEYBDINPUT, * PKEYBDINPUT, ATÉ AGORA * LPKEYBDINPUT 

wVk
Especifica um código de chave virtual. O código deve ser um valor no intervalo de 1 a 254.
wScan
Especifica um código de verificação de hardware para a chave.
dwFlags
Um conjunto de bit sinalizadores que especificar vários aspectos de um pressionamento de tecla. Os bits este membro podem ser qualquer combinação do seguinte valores predefinidos constantes.
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.

tempo de
Carimbo de hora para o evento.
dwExtraInfo
Especifica um valor de 32 bits adicional associado com o pressionamento de tecla. Um aplicativo chama GetMessageExtraInfo para obter esta informação extra.
oi
Windows 95: Especifica um evento de entrada hardware diferente de um teclado ou rato.
typedef struct tagHARDWAREINPUT {
    DWORD uMsg;
    PALAVRA wParamL;
    PALAVRA wParamH;
    DWORD dwExtraInfo;
} HARDWAREINPUT, * PHARDWAREINPUT, ATÉ AGORA * LPHARDWAREINPUT 

uMsg
A mensagem gerada pelo hardware de entrada.
wParamL
Parâmetro de uMsg.
wParamH
Parâmetro de uMsg.
dwExtraInfo
Especifica um valor de 32 bits adicional associado com o evento. Um aplicativo chama GetMessageExtraInfo para obter esta informação extra.

Observações

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.

QuickInfo

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.

Ver também

Visão geral de entrada de teclado, estruturas de entrada do teclado, GetMessageExtraInfo, SendInput, SystemParametersInfo