Morgen,
ich versuche aus einem Programm (ja ist ein Bot, aber um den geht es ja nicht wirklich) Inhalte aus TextBoxen auszulesen, was auch teilweise klappt. Das Problem ist, dass ich immer nur eine TextBox auslesen kann, obwohl sich mehrere im selben Parent-Control befinden..mein Versuch:
Als Ergebnis bekomme ich nun "110", also den Inhalt der 1. TextBox, aber wie bekomme ich den aus der 2. TextBox? Hab schon verschiedenes versucht, aber nichts hat geklappt..
Hier nochmal der Aufbau von Spy++:
Hoffe mir kann da jemand weiterhelfen!
Edit: Achja, noch etwas, was vllt hilft: Wenn ich auf Eigenschaften -> Fenster gehe, steht bei der 1. TextBox (mit dem Inhalt 110) bei Vorheriges Fenster "kein Handle", bei der 2. TextBox steht jedoch das Handle der 1. TextBox und bei Beschriftung "110", aber ich weiß nicht wie ich das im Code umsetzen soll...
ich versuche aus einem Programm (ja ist ein Bot, aber um den geht es ja nicht wirklich) Inhalte aus TextBoxen auszulesen, was auch teilweise klappt. Das Problem ist, dass ich immer nur eine TextBox auslesen kann, obwohl sich mehrere im selben Parent-Control befinden..mein Versuch:
VB.NET-Quellcode
- 'GetText-Function im Internet gefunden..
- Const WM_GETTEXT As Int32 = &HD
- Const WM_GETTEXTLENGTH As Int32 = &HE
- Public Function GetText(ByVal hwnd As IntPtr) As String
- If (Not hwnd.Equals(IntPtr.Zero)) Then
- Dim NumberOfCharacters As Int32 = SendMessageByInt(hwnd, WM_GETTEXTLENGTH, 0, 0)
- If NumberOfCharacters > 0 Then
- Dim ptText As New StringBuilder(NumberOfCharacters)
- Dim Result As Int32 = SendMessageByString(hwnd, WM_GETTEXT, NumberOfCharacters + 1, ptText)
- If Result <> 0 Then
- Return ptText.ToString()
- Else
- Return String.Empty
- End If
- End If
- End If
- End Function
- '-----------------------------------
- 'Control finden
- Dim main As IntPtr
- Dim child As IntPtr
- main = FindWindow("ThunderRT6FormDC", "[iB0t] Auto Party") 'Hauptform
- child = FindWindowEx(main, IntPtr.Zero, "SSTabCtlWndClass", Nothing) 'TabControl
- child = FindWindowEx(child, IntPtr.Zero, "ThunderRT6Frame", "Level Restriction") 'GroupBox
- child = FindWindowEx(child, IntPtr.Zero, "ThunderRT6TextBox", Nothing) 'TextBox
- 'Ausgeben
- Label1.Text = GetText(child)
Als Ergebnis bekomme ich nun "110", also den Inhalt der 1. TextBox, aber wie bekomme ich den aus der 2. TextBox? Hab schon verschiedenes versucht, aber nichts hat geklappt..
Hier nochmal der Aufbau von Spy++:
Hoffe mir kann da jemand weiterhelfen!
Edit: Achja, noch etwas, was vllt hilft: Wenn ich auf Eigenschaften -> Fenster gehe, steht bei der 1. TextBox (mit dem Inhalt 110) bei Vorheriges Fenster "kein Handle", bei der 2. TextBox steht jedoch das Handle der 1. TextBox und bei Beschriftung "110", aber ich weiß nicht wie ich das im Code umsetzen soll...