How do I set the position of the mouse cursor from a Console app in C#?

后端 未结 4 785
北荒
北荒 2021-01-05 02:38

I\'ve found many articles on how to set the mouse position in a C# windows forms project - I want to do this in a console application. How can I set the abs

相关标签:
4条回答
  • 2021-01-05 03:06

    Fixed little mistake in Chaz unswer:

    using System.Runtime.InteropServices;
    
    
    namespace ConsoleImageWorker
    {
        public static class Mouse
        {
    
            [DllImport("user32.dll")]
            static extern bool SetCursorPos(int X, int Y);
    
            public static void SetCursorPosition(int x, int y)
            {
                SetCursorPos(x, y);
            }
        }
    }
    

    After that in any class you can just call:

    Mouse.SetCursorPosition(100, 100);
    
    0 讨论(0)
  • 2021-01-05 03:07

    You can simply assign to Cursor.Position.

    However, in a console application you will need to add references to the WinForms assemblies because console application projects do not include references to WinForms by default.

    You will need to add System.Windows.Forms and System.Drawing, the latter to gain access to the Point class.

    0 讨论(0)
  • 2021-01-05 03:24

    This is an old thread, but for the sake of completion it can be done this way...

    use System.Runtime.InteropServices;
    
    [DllImport("user32.dll")]
    static extern bool SetCursorPos(int X, int Y);
    

    then in method whatever position you wish e.g.

      SetCursorPos(500, 500);
    
    0 讨论(0)
  • 2021-01-05 03:28

    Inside your console application, add a reference to System.Windows.Forms.dll and use the other techniques you've read about. The choice of console vs windows exe only impacts the PE header (and maybe the default code template, but you can hack that trivially); you can still use the full framework in a console exe.

    The mouse you want to control is in windows, not the console.

    0 讨论(0)
提交回复
热议问题