10

C#Windowsフォームプロジェクトでマウスの位置を設定する方法に関する多くの記事を見つけました。これをコンソールアプリケーションで実行したいと思います。C#Windowsコンソールアプリケーションからマウスの絶対位置を設定するにはどうすればよいですか?

ありがとう!

ヒント:コンソール内のテキストカーソルの位置を設定するだけのConsole.setCursorPositionではありません。

4

4 に答える 4

13

これは古いスレッドですが、完成させるために、この方法で行うことができます...

use System.Runtime.InteropServices;

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

それからあなたが望むどんな位置でも方法で例えば

  SetCursorPos(500, 500);
于 2016-03-16T19:58:54.760 に答える
5

コンソールアプリケーション内で、System.Windows.Forms.dllへの参照を追加し、これまでに読んだ他の手法を使用します。コンソールとWindowsexeの選択は、PEヘッダーにのみ影響します(おそらくデフォルトのコードテンプレートですが、それを簡単にハックすることができます)。コンソールexeで引き続き完全なフレームワークを使用できます。

制御するマウスは、コンソールではなくウィンドウにあります。

于 2011-07-16T08:33:59.450 に答える
3

に割り当てるだけですCursor.Position

ただし、コンソールアプリケーションプロジェクトにはデフォルトでWinFormsへの参照が含まれていないため、コンソールアプリケーションではWinFormsアセンブリへの参照を追加する必要があります。

クラスにアクセスするには、System.Windows.Formsとを追加する必要があります。後者を追加する必要があります。System.DrawingPoint

于 2011-07-16T08:32:59.007 に答える
2

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);
        }
    }
}

その後、どのクラスでも、次のように呼び出すことができます。

Mouse.SetCursorPosition(100, 100);
于 2020-02-04T11:11:17.720 に答える