저장용
출처 : stack overflow
[Flags] public enum MouseEventFlags { LeftDown = 0x00000002, LeftUp = 0x00000004, MiddleDown = 0x00000020, MiddleUp = 0x00000040, Move = 0x00000001, Absolute = 0x00008000, RightDown = 0x00000008, RightUp = 0x00000010 } [DllImport("user32.dll", EntryPoint = "SetCursorPos")] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool SetCursorPos(int X, int Y); [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool GetCursorPos(out MousePoint lpMousePoint); [DllImport("user32.dll")] private static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo); public static void SetCursorPosition(int X, int Y) { SetCursorPos(X, Y); } public static void SetCursorPosition(MousePoint point) { SetCursorPos(point.X, point.Y); } public static MousePoint GetCursorPosition() { MousePoint currentMousePoint; var gotPoint = GetCursorPos(out currentMousePoint); if (!gotPoint) { currentMousePoint = new MousePoint(0, 0); } return currentMousePoint; } public static void MouseEvent(MouseEventFlags value) { MousePoint position = GetCursorPosition(); mouse_event ((int)value, position.X, position.Y, 0, 0) ; } [StructLayout(LayoutKind.Sequential)] public struct MousePoint { public int X; public int Y; public MousePoint(int x, int y) { X = x; Y = y; } }
'study > c#' 카테고리의 다른 글
c# keycode 표 (0) | 2016.07.15 |
---|---|
C# Epoch Time(에포크 시간) 변환 방법 (0) | 2016.07.07 |
c# listbox 컬렉션 / items의 멤버들 (0) | 2014.01.23 |
[C#] 가상 매서드 (virtual method) /가상 함수 (0) | 2014.01.22 |
[C#] 매서드 재정의 /함수 오버라이딩 (0) | 2014.01.21 |