2016-05-29 14 views
0

このプログラムはビジュアルベーシックで、カーソルをテレポートしてクリックする必要があります。ゲームのための自動チートのようなものだが、本当はチートではない。ビジュアルベーシックでは、私のカーソルをx * y座標(Not x、y)にテレポートすることは可能ですか?

とにかく、座標をポイントに設定してから、それらの座標を値に設定してから、ボタンを押してその座標に移動します。

私は彼に座標を取得させることができます。私はカーソルをテレポートすることができます。彼が得た座標を整数Xと整数Yに設定して、カーソルがそこにテレポートするようにすることができます。しかし、私はそのすべてを8回やらなければなりません。だから私は24の整数が必要です。

私はxyを掛けることができれば、それをすべてスキップすることができると考えていたので、座標を320(x)と72(y)に設定するとします。 (320,72)は大丈夫、私はX掛けた場合、私はそれが私たちが唯一のはるかに少ない8つの整数を持って作ること(右?)座標

よしに存在する、画面上の画素数を取得するyのように、 。

しかし、どのようにしてカーソルを "X * Y"の位置(300 * 72の場合はピクセル番号23040)にテレポートしますか?

* TL; DRは、それが可能このWindows.Forms.Cursor.PositionにこのWindows.Forms.Cursor.Position =新しいポイント(320,72)を変換することである320である=新しいポイント(23040(* 72))*

可能ですか?

私はそれをする方法を考えることができません私を助けてください。ありがとう。

+0

多くの位置を保持するために 'List(Of Point) 'を持つことができる。 [List(Of T)クラスのドキュメント](https://msdn.microsoft.com/en-us/library/6sh2ey19%28v=vs.110%29.aspx) –

答えて

1

番号(x、y)は(x * y)と等価ではありません。

なぜあなたがそれを考えているのかは明らかです。同じ製品を与えるxyには多くの異なる入力値があります。たとえば、6 * 1 = 6、2 * 3となります。画面上のどの位置に6が対応しますか?座標(6,1)、(1,6)、(2,3)、(3,2)のポイントは?

これを行うにはより良い方法があるかもしれませんが、私はあなたの質問にその説明が非常に理解しにくいと感じます。画面上の特定の場所でクリックイベントをシミュレートするだけであれば、明示的にカーソルを明示的に移動する必要はありません。私はそれを行う方法を提案しますが、どの言語を使用しているのかは明確ではありません。あなたは[vbscript]という質問にタグを付けましたが、VBScriptには存在しないWindowsフォームについて語りました。 VB.NETを使用している場合は、おそらくP /呼び出しをSendInput関数を終了します。 Googleのコード例

+0

はいタグが間違っています。 私は Windows.Forms.Cursor.Position =新しいSystem.Drawing.Point(Windows.Forms.Cursor.Position) MOUSE_EVENT(&H2、0、0、0、1)マウスイベントを使用「、 MOUSE_EVENTをクリックしてください(&H4 0、0、0、1) 'unclick 最初の2つのゼロを座標に変更する必要はありますか? (&H4,0,0,0,1) ありがとうございました –

0

私は他の答え/コメントに同意しますが、あなたの説明は可能ですが、x座標とy座標を単純に乗算することはできません。画面幅を考慮する必要があります。

Private Function PointToPixelNumber(pt As Point) As Integer 
    Return pt.Y * Screen.PrimaryScreen.Bounds.Width + pt.X 
End Function 

Private Function PixelNumberToPoint(pixelNumber As Integer) As Point 
    Return New Point(pixelNumber \ Screen.PrimaryScreen.Bounds.Width, pixelNumber Mod Screen.PrimaryScreen.Bounds.Width) 
End Function 

このコードでは、整数除算(\)を使用しています。また、原点はスクリーンの左上にあり、ゼロベースであると仮定する(すなわち、左上の座標は(0,0))

関連する問題