私のPCでアプリケーションが動作しています。そのアプリケーションのすべての詳細を取得できます (ハンドル、メインウィンドウハンドルなど)。
そのアプリケーションにはたくさんのラベルがあり、そのラベルと msgbox の文字列を自分のアプリケーションで読みたいと思っています。
これを試すことができます(pinvokeがうまくカバーしています):
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function GetWindowText(ByVal hwnd As IntPtr, ByVal lpString As StringBuilder, ByVal cch As Integer) As Integer
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function GetWindowTextLength(ByVal hwnd As IntPtr) As Integer
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim length As Integer = GetWindowTextLength(otherAppLabelHandle)
Dim sb As New StringBuilder(length + 1)
GetWindowText(otherAppLabelHandle, sb, sb.Capacity)
MessageBox.Show(sb.ToString())
End Sub