1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
class FoncPerso
{
[DllImport("user32.dll", SetLastError = true)]
static extern uint SendInput(uint nInputs, INPUT[] pInputs, int cbSize);
[StructLayout(LayoutKind.Explicit)] struct INPUT
{
[FieldOffset(0)] public int type;
[FieldOffset(sizeof(int))] public MOUSEINPUT mi; //[FieldOffset(8)] for x64
[FieldOffset(sizeof(int))] public KEYBDINPUT ki;//[FieldOffset(8)] for x64
[FieldOffset(sizeof(int))] public HARDWAREINPUT hi;//[FieldOffset(8)] for x64
}
[StructLayout(LayoutKind.Sequential)] struct MOUSEINPUT
{
public int dx;
public int dy;
public uint mouseData;
public uint dwFlags;
public uint time;
public IntPtr dwExtraInfo;
}
const uint MOUSEEVENTF_LEFTDOWN = 0x0002;
const uint MOUSEEVENTF_LEFTUP = 0x0004;
const uint MOUSEEVENTF_MOVE = 0x0001;
public static void MouseClick()
{
INPUT[] dblClick = new INPUT[2];
dblClick[0].type = 0;
dblClick[0].mi.dx = 960;
dblClick[0].mi.dy = 540;
dblClick[0].mi.mouseData = 0;
dblClick[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
dblClick[0].mi.time = 0;
dblClick[1].type = 0;
dblClick[1].mi.dx = 960;
dblClick[1].mi.dy = 540;
dblClick[1].mi.mouseData = 0;
dblClick[1].mi.dwFlags = MOUSEEVENTF_LEFTUP;
dblClick[1].mi.time = 0;
uint res = SendInput(2, dblClick, Marshal.SizeOf(new INPUT()));
Thread.Sleep(1000);
MessageBox.Show(Convert.ToString(res));
}
} |
Partager