http://w.livedoor.jp/jun_c/d/%A5%DE%A5%A6%A5%B9%BA%B8%A5%DC%A5%BF%A5%F3%A5%AF%A5%EA%A5%C3%A5%AF
PostMessage/SendMessageでWM_LBUTTONDOWN、WM_LBUTTONUPを送る方法もあるが、SendInputを利用したほうが楽っぽい。
[DllImport("user32.dll")] extern static uint SendInput(uint nInputs, INPUT[] pInputs, int cbSize); [StructLayout(LayoutKind.Sequential)] struct INPUT { public int type; public MOUSEINPUT mi; } [StructLayout(LayoutKind.Sequential)] struct MOUSEINPUT { public int dx; public int dy; public int mouseData; public int dwFlags; public int time; public IntPtr dwExtraInfo; } const int MOUSEEVENTF_LEFTDOWN = 0x0002; // 左ボタン Down const int MOUSEEVENTF_LEFTUP = 0x0004; // 左ボタン Up private void click() { //struct 配列の宣言 INPUT[] input = new INPUT[2]; //左ボタン Down input[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN; //左ボタン Up input[1].mi.dwFlags = MOUSEEVENTF_LEFTUP; //イベントの一括生成 SendInput(2, input, Marshal.SizeOf(input[0])); }
ちにみにマウスカーソルを動かす方法はこちら。
http://dobon.net/vb/dotnet/system/cursorposition.html
System.Drawing.Point p = new System.Drawing.Point(0, 0); System.Windows.Forms.Cursor.Position = p;