1

私のPCでアプリケーションが動作しています。そのアプリケーションのすべての詳細を取得できます (ハンドル、メインウィンドウハンドルなど)。

そのアプリケーションにはたくさんのラベルがあり、そのラベルと msgbox の文字列を自分のアプリケーションで読みたいと思っています。

4

1 に答える 1

1

これを試すことができます(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
于 2011-11-06T14:30:29.807 に答える