Age of empires やその他の戦略ゲームをプレイするとき、リソースを 100 回販売してから別のリソースを販売する必要があることがよくあります。気に障る :(
以下を使用してマウスをクリックすることで役立つプログラムを作成しました。
//This is the decleration
[DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
private void ClickTheMouse()
{
int X = Cursor.Position.X;
int Y = Cursor.Position.Y;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
}
次に、タイマーと上記のコードを使用して、30回クリックできます。
Windows (word、Firefox など) や Age of empires でさえ、すべてうまく機能しますが、残念ながら、「Stronghold crusader」や名前を覚えていない他のゲームでは機能しません。
これは、クリックが高レベルでシミュレートされたために発生すると考えられます。ドライバー レベルに近いレベルでシミュレートされれば、機能します。
2 つの質問があります。
- 私の仮定は正しいですか?
- このゲームで動作する下位レベルでマウス クリックをシミュレートするにはどうすればよいですか?
私は c# を使用していますが、C++ コードも役立ちます (PInvoke を使用します)。
ありがとう、