マウスを動かして、アプリケーションの外でマウス クリックをシミュレートしたいと考えています。
マウス、sendinput、BotSuite や Input Simulator を含む多数のライブラリを動かすあらゆる方法を試しました。
アプリケーションがフォーカスを失うたびに、マウスを動かしたり、クリックしたりしていません。マウスを動かしてアプリケーション内をクリックすることはできますが、フォーカスを失うとすぐに完全に機能しなくなります。フォーカスが合っていても、アプリケーション以外のものをクリックすることはできません。
何故ですか?
BotSuite を使用したスニペットを次に示します。その前にプロセスを開始し、それを焦点にしています。
Bitmap CapturedScreen = ScreenShot.Create(LauncherHandle);
Bitmap bmpRefPic = new Bitmap("launchbutton.png");
ImageData refpic = new ImageData(bmpRefPic);
ImageData source = new ImageData(CapturedScreen);
List<Rectangle> found = new List<Rectangle>();
found = Template.AllImages(source, refpic, 124);
Mouse.MoveRelativeToWindow(LauncherHandle, found[0].X + 50, found[0].Y + 50, true, 100);
Mouse.LeftClick();
これは機能していません。ただし、事前に自分のアプリケーションで SetForegroundWindow を実行すると、Mouse.Move コマンドが機能します。クリックしても、アプリケーションの境界の外では機能しません。