これは奇妙な質問です。これまでこれをやろうとはしていませんでした。フォームからデータを読む
私は、1つのプログラムのテキストボックスからのデータを別のプログラムにコピーして後で処理する必要があるという繰り返しプロセスがあります。 VB .NETを使用してこのプロセスを自動化したいと思います。データの収集元となるアプリケーションは私のものではないため、ActiveXのようなコントロールへのアクセスはありません。
フォーム上のコントロールを見つけてそれらから値を収集するために、別のアプリケーションのフォームにアクセスするためにアプリケーションを書く方法は?
私は以下のコードを試してみました。これにより、このコードが属するフォームの名前のみとなりました。私が開いている他のフォームの名前は見つけられませんでした。私はたくさんの選択肢があります。それは私が私の人生を容易にするために行う必要があります何の唯一のステップ1ですので、これはイライラさせられる...
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As CallBack, ByVal lParam As Integer) As Integer
Public Delegate Function CallBack(ByVal hwnd As IntPtr, ByVal lParam As IntPtr) As Boolean
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cb As New CallBack(AddressOf MyCallBack)
EnumWindows(cb, 8)
End Sub
Public Function MyCallBack(ByVal hwnd As Long, ByVal lparam As Long) As Boolean
Dim frm As System.Windows.Forms.Control
frm = System.Windows.Forms.Form.FromHandle(hwnd)
If frm Is Nothing Then Return True
If frm.Text <> "" Then
TextBox1.Text += frm.Text & ", "
End If
Return True
End Function
誰もが勧告を持っていますか?
おかげで、 SH
Spy ++を使用して、他のアプリケーションのフォーム上のコントロールを識別できます。私は自分で使ったことはありませんが、おそらく試してみる価値があります。 http://msdn.microsoft.com/en-us/magazine/cc163617.aspx –