developer tip

C #을 사용하여 마우스 커서를 이동하는 방법은 무엇입니까?

copycodes 2020. 11. 5. 08:13
반응형

C #을 사용하여 마우스 커서를 이동하는 방법은 무엇입니까?


x 초마다 마우스 움직임을 시뮬레이션하고 싶습니다. 이를 위해 타이머 (x 초)를 사용하고 타이머가 틱되면 마우스를 움직입니다.

그러나 C #을 사용하여 마우스 커서를 이동하려면 어떻게해야합니까?


Cursor.Position속성을 살펴보십시오 . 시작해야합니다.

private void MoveCursor()
{
   // Set the Current cursor, move the cursor's Position,
   // and set its clipping rectangle to the form. 

   this.Cursor = new Cursor(Cursor.Current.Handle);
   Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50);
   Cursor.Clip = new Rectangle(this.Location, this.Size);
}

첫 번째 추가 클래스 (Win32.cs)

public class Win32
{ 
    [DllImport("User32.Dll")]
    public static extern long SetCursorPos(int x, int y);

    [DllImport("User32.Dll")]
    public static extern bool ClientToScreen(IntPtr hWnd, ref POINT point);

    [StructLayout(LayoutKind.Sequential)]
    public struct POINT
    {
        public int x;
        public int y;
    }
}

그런 다음 이벤트에서 호출 :

Win32.POINT p = new Win32.POINT();
p.x = Convert.ToInt16(txtMouseX.Text);
p.y = Convert.ToInt16(txtMouseY.Text);

Win32.ClientToScreen(this.Handle, ref p);
Win32.SetCursorPos(p.x, p.y);

참고 URL : https://stackoverflow.com/questions/8050825/how-to-move-mouse-cursor-using-c

반응형