Struttura MOUSEINPUT (winuser.h)

Contiene informazioni su un evento mouse simulato.

Sintassi

typedef struct tagMOUSEINPUT {
  LONG      dx;
  LONG      dy;
  DWORD     mouseData;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

Members

dx

Tipo: LONG

Posizione assoluta del mouse o la quantità di movimento dall'ultimo evento del mouse generato, a seconda del valore del membro dwFlags . I dati assoluti sono specificati come coordinata x del mouse; I dati relativi sono specificati come numero di pixel spostati.

dy

Tipo: LONG

Posizione assoluta del mouse o la quantità di movimento dall'ultimo evento del mouse generato, a seconda del valore del membro dwFlags . I dati assoluti sono specificati come coordinata y del mouse; I dati relativi sono specificati come numero di pixel spostati.

mouseData

Tipo: DWORD

Se dwFlags contiene MOUSEEVENTF_WHEEL, mouseData specifica la quantità di movimento della ruota. Un valore positivo indica che la ruota è stata ruotata in avanti, lontano dall'utente; un valore negativo indica che la rotellina è stata ruotata verso l'indietro, verso l'utente. Un clic a rotelle viene definito come WHEEL_DELTA, ovvero 120.

Windows Vista: se dwFlags contiene MOUSEEVENTF_HWHEEL, dwData specifica la quantità di movimento della ruota. Un valore positivo indica che la ruota era ruotata a destra; un valore negativo indica che la ruota è stata ruotata a sinistra. Un clic a rotelle viene definito come WHEEL_DELTA, ovvero 120.

Se dwFlags non contiene MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP, mouseData deve essere zero.

Se dwFlags contiene MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP, mouseData specifica quali pulsanti X sono stati premuti o rilasciati. Questo valore può essere una combinazione dei flag seguenti.

Valore Significato
XBUTTON1
0x0001
Impostare se il primo pulsante X viene premuto o rilasciato.
XBUTTON2
0x0002
Impostare se il secondo pulsante X viene premuto o rilasciato.

dwFlags

Tipo: DWORD

Set di flag di bit che specificano vari aspetti del movimento del mouse e clic sul pulsante. I bit in questo membro possono essere una combinazione ragionevole dei valori seguenti.

I flag di bit che specificano lo stato del pulsante del mouse sono impostati per indicare le modifiche nello stato, non in corso. Ad esempio, se il pulsante sinistro del mouse viene premuto e premuto, MOUSEEVENTF_LEFTDOWN viene impostato quando viene premuto il pulsante sinistro, ma non per i movimenti successivi. Analogamente , MOUSEEVENTF_LEFTUP viene impostato solo quando il pulsante viene rilasciato per la prima volta.

Non è possibile specificare sia il flag MOUSEEVENTF_WHEEL che i flag MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP contemporaneamente nel parametro dwFlags , perché entrambi richiedono l'uso del campo mouseData .

Valore Significato
MOUSEEVENTF_MOVE
0x0001
Lo spostamento si è verificato.
MOUSEEVENTF_LEFTDOWN
0x0002
Il pulsante sinistro è stato premuto.
MOUSEEVENTF_LEFTUP
0x0004
Il pulsante sinistro è stato rilasciato.
MOUSEEVENTF_RIGHTDOWN
0x0008
Il pulsante destro è stato premuto.
MOUSEEVENTF_RIGHTUP
0x0010
Il pulsante destro è stato rilasciato.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Il pulsante centrale è stato premuto.
MOUSEEVENTF_MIDDLEUP
0x0040
Il pulsante centrale è stato rilasciato.
MOUSEEVENTF_XDOWN
0x0080
È stato premuto un pulsante X.
MOUSEEVENTF_XUP
0x0100
È stato rilasciato un pulsante X.
MOUSEEVENTF_WHEEL
0x0800
La ruota è stata spostata, se il mouse ha una ruota. La quantità di spostamento viene specificata in mouseData.
MOUSEEVENTF_HWHEEL
0x1000
La ruota è stata spostata orizzontalmente, se il mouse ha una ruota. La quantità di spostamento viene specificata in mouseData.
Windows XP/2000: questo valore non è supportato.
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
I messaggi WM_MOUSEMOVE non verranno uniti. Il comportamento predefinito consiste nel unire i messaggi WM_MOUSEMOVE .
Windows XP/2000: questo valore non è supportato.
MOUSEEVENTF_VIRTUALDESK
0x4000
Esegue il mapping delle coordinate all'intero desktop. Deve essere usato con MOUSEEVENTF_ABSOLUTE.
MOUSEEVENTF_ABSOLUTE
0x8000
I membri dx e dy contengono coordinate assolute normalizzate. Se il flag non è impostato, dxe dy contengono dati relativi (la modifica nella posizione dall'ultima posizione segnalata). Questo flag può essere impostato o non impostato, indipendentemente dal tipo di mouse o da un altro dispositivo, se presente, è connesso al sistema. Per altre informazioni sul movimento relativo del mouse, vedere la sezione Osservazioni seguenti.

time

Tipo: DWORD

Timestamp per l'evento, in millisecondi. Se questo parametro è 0, il sistema fornirà il proprio timestamp.

dwExtraInfo

Tipo: ULONG_PTR

Valore aggiuntivo associato all'evento del mouse. Un'applicazione chiama GetMessageExtraInfo per ottenere queste informazioni aggiuntive.

Commenti

Se il mouse è stato spostato, indicato da MOUSEEVENTF_MOVE, dx e dy specificare informazioni su tale movimento. Le informazioni sono specificate come valori integer assoluti o relativi.

Se viene specificato MOUSEEVENTF_ABSOLUTE valore, dx e dy contengono coordinate assolute normalizzate tra 0 e 65.535. La routine evento esegue il mapping di queste coordinate all'area di visualizzazione. Coordinata (0,0) mappa nell'angolo superiore sinistro della superficie di visualizzazione; coordinata (65535,65535) mappa nell'angolo inferiore destro. In un sistema multimonitor, le coordinate mappano al monitoraggio primario.

Se viene specificato MOUSEEVENTF_VIRTUALDESK , le coordinate mappano all'intero desktop virtuale.

Se il valore MOUSEEVENTF_ABSOLUTE non è specificato, dxe dy specificano lo spostamento rispetto all'evento mouse precedente (l'ultima posizione segnalata). I valori positivi indicano che il mouse è stato spostato a destra (o verso il basso); i valori negativi indicano che il mouse è stato spostato a sinistra (o verso l'alto).

Il movimento del mouse relativo è soggetto agli effetti della velocità del mouse e dei valori soglia a due mouse. Un utente imposta questi tre valori con il dispositivo di scorrimento Velocità puntatore del foglio Proprietà mouse di Pannello di controllo. È possibile ottenere e impostare questi valori usando la funzione SystemParametersInfo .

Il sistema applica due test allo spostamento relativo del mouse specificato. Se la distanza specificata lungo l'asse x o y è maggiore del primo valore soglia del mouse e la velocità del mouse non è zero, il sistema raddoppia la distanza. Se la distanza specificata lungo l'asse x o y è maggiore del secondo valore soglia del mouse e la velocità del mouse è uguale a due, il sistema raddoppia la distanza risultante dall'applicazione del primo test soglia. È quindi possibile che il sistema moltiplica lo spostamento relativo relativo del mouse lungo l'asse x o y fino a quattro volte.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione winuser.h (include Windows.h)

Vedi anche

Informazioni concettuali

GetMessageExtraInfo

INPUT

Input della tastiera

Riferimento

SendInput