[DllImport("user32.dll")]
static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData,
UIntPtr dwExtraInfo);
or
[DllImport("user32.dll")]
static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData,
int dwExtraInfo);
[Flags]
public enum MouseEventTFlags
{
LEFTDOWN = 0x00000002,
LEFTUP = 0x00000004,
MIDDLEDOWN = 0x00000020,
MIDDLEUP = 0x00000040,
MOVE = 0x00000001,
ABSOLUTE = 0x00008000,
RIGHTDOWN = 0x00000008,
RIGHTUP = 0x00000010
}
The declaration as originally posted is incorrect as mouse_event does not return a value. Also, for VB.NET, one should really use Int32 to ensure correct sizing.
Declare Auto Function mouse_event Lib "user32.dll" (ByVal dwflags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer) As Integer
Fixed declaration:
Declare Auto Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Int32, ByVal dx As Int32, ByVal dy As Int32, ByVal cButtons As Int32, ByVal dwExtraInfo As Int32)
I wanted to emulate the scroll. Searching for this information wasn't easy ... but here is how you do the mouse scroll button
dim ScrollValue as Integer
ScrollValue = 120 'or -120 for up or down scrolling
mouse_event(&H800, 0, 0, ScrollValue, 0)
FYI, Microsoft tells us for "Windows NT/2000/XP: This function has been superseded. Use SendInput instead."
Please add some!
[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);
[DllImport("user32.dll")]
static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, int dwExtraInfo);
[Flags]
public enum MouseEventFlags
{
LEFTDOWN = 0x00000002,
LEFTUP = 0x00000004,
MIDDLEDOWN = 0x00000020,
MIDDLEUP = 0x00000040,
MOVE = 0x00000001,
ABSOLUTE = 0x00008000,
RIGHTDOWN = 0x00000008,
RIGHTUP = 0x00000010
}
...
//Set cursor position
SetCursorPos(10, 50);
//Mouse Right Down and Mouse Right Up
mouse_event((uint)MouseEventFlags.RIGHTDOWN,0,0,0,0);
mouse_event((uint)MouseEventFlags.RIGHTUP,0,0,0,0);
Do you know one? Please contribute it!
You can use the System.Windows.Froms.Cursor.Position property to set the position of the mouse, if you would like.