2016-08-03 11 views
0

同じアクションを何度も繰り返すボットを作りたいと思います。クリックイベントに関する情報を得る方法はありますか?開かれたファイルエクスプローラウィンドウのどこかをクリックします。プログラムは、そのウィンドウ内の特定の領域またはボタンをクリックしたことを伝えることができますか?特定の(開いた)ウィンドウをクリックしたりタイプしたりすることはできますか? ありがとうVBのclickイベントの詳細情報

+2

あなたはおそらくLib "user32.dll"を必要とします Offtopic:多分あなたに近づいているユーザ入力を偽造することによって、異なるアプリケーションと対話しようとするためにstackoverflowに嫌悪感を覚えるでしょう。 – Luke

+2

この質問には詳細がありません。私はあなたが達成しようとしていることをほとんど理解していません。 [最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)を作成してみてください。 –

+0

@ルーク、タッチ... –

答えて

1

はい特定のボタンをクリックすると、プログラムはそのことを知ることができます。クリックされたボタンは、クリックイベントが発生した場合にそのイベントが発生します。手動でこのアクションを実行するプログラムを指示するためには、フレーズ..「BTNは、」あなたがクリックする必要がされているものは何でもボタンの名前です

btn.PerformClick() 

を実装することができます。このフレーズが呼び出されるたびに、実際にボタンをクリックした場合と同じように、btn_Clickイベントハンドラが起動されます。

Windowsフォームのクリックイベントをトリガするために呼び出すことのできる組み込みのメソッドがないため、プログラム内の実際のウィンドウまたはフォームで同じことを行うのは難しいです。しかし、それは可能です。ウィンドウのイベントハンドラを定義し、それがされるトリガーとなるコード..上記

Private Sub myWindow_Click() Handles MyBase.Click 
    'code you want to run on click event here 
End Sub 

myWindow_Click() 'where you want the click to be triggered 

しかし、メソッド呼び出しでシミュレートするために、はるかに簡単になります。

最後に、テキストをウィンドウに入力することをシミュレートするには、変更したいコントロールのテキストプロパティにアクセスし、そのテキストプロパティを目的のテキストに変更するだけです。しかし、あなたの質問から判断すると、あなたはこれが人間のやり方と同様の仕方で行われることを望んでいます。 これは、コントロールのテキストに追加するタイマーインターバルを使用して、いくつかの作業で行うこともできます。

例えば、人間が望むように画面上のテキストボックスに「hello world」を入力したかったとします。

Dim str as String = "" 
Dim pos as Integer = 0 

Public Sub humanType(word as String)  
    str = word 
    Timer1.enabled = true 
End Sub 

public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
    myTextBox.Text = myTextBox.Text + str[pos] 
    pos = pos + 1 
    If pos = str.length Then 
     Timer1.enabled = false 
    End If 
End Sub 

あなたが前にタイマー間隔で働いたことがない場合は、このチュートリアルでは、いくつかを持っている...あなたのフォームにタイマコントロールを追加し、250にその間隔を設定したり、しかし速いあなたは単語がタイプと方法になりたいですVB.Netのための良い情報。 http://www.techrepublic.com/article/perform-actions-at-set-intervals-with-vbnets-timer-control/

希望すると助かります!

+0

ありがとうございます。やってみます。事実、私はMicrosoftが提供するVisual Basicドキュメントのようなものはありません。私がc、C++、およびJava文書で新しいメソッドと技術を発見するのはいつもより簡単でした。あなたが使用しているより良いvbドキュメントがありますか? –

+1

私はvb.netに使用する特定のドキュメントはありません。私がVB.netについて知っていることのほとんどは、プログラムを使ってインターンとして働いて学んだことです。私が理解できない何か新しいことがあるとき、私の主なリソースはかなりスタックオーバーフローです。時々私はMicrosoftのドキュメントを使用していますが、それは一種で、消化するのがより難しいことに同意します。それ以外に私がよく知っている唯一の良いサイトはおそらくhttp://www.dotnetheaven.comです – Luke

関連する問題