ブログ

読んで思い出す。忘れるために書く

C# で Win32 API を呼び出す

ゴール

C# から Windows API を呼び出すことで、マウスの自動操作、キーボードの自動操作を実現する

コード

gist.github.com

上のように定義して、click(x, y) で指定座標に対してクリックすることができる

キーボード操作は単純で、直接 SendKeys.SendWait("{ENTER}") のように呼び出すことで、アクティブウィンドウに対してキー操作を送ることができる

SendWait() が使えない...?

SendKeys.SendWait() が含まれている System.Windows.Forms は、プロジェクトをコンソールアプリケーションとして作成した場合 (dotnet new console) 利用できない

GUI アプリケーションとしてプロジェクトを初期化 (dotnet new winforms) することで各種メソッドが使用可能になる

Link