|
| |

Fortgeschrittene Programmierung| Re: Controlname und Controlinhalt aus Fremder Anwendung | |  | | Autor: Stefan Linder | | Datum: 10.02.06 12:49 |
| Hi,
über die Call-Back-Funktion von EnumChildWindow kannst du dann versuchen, die Steuerelemente auszulesen. Folgendes Beispiel habe ich mal verwendet, um Kazaa-Lite fernzusteuern...
Die entsprechenden API-Funktionen müssen natürlich deklariert werden, einige Variablen auch. Das Beispiel stammt aus VBA (deshalb die Worksheets-Einträge).
Ich denke, du kannst das entsprechend umschreiben. Zum Ermitteln der Struktur am Besten erst mal alle Einträge auslesen lassen ( wie im auskommentierten Teil, wo alles in ein Exel-Tabellenblatt geschrieben wird).
Private Function EnumChildProc(ByVal hwndc As Long, ByVal lParam As Long) As _
Long
'Callback-Function von EnumChildWindows
Dim sSave As String
Dim wClass As String
Const WM_GETTEXT = &HD
Dim sClass As String
Dim result As String
Dim HexHWND As String
'Länge des Fenstertextes
sSave = Space$(GetWindowTextLength(hwndc) + 1)
'Fenstertext
GetWindowText hwndc, sSave, Len(sSave)
'das letzte Chr$(0) entfernen
sSave = Left$(sSave, Len(sSave) - 1)
sClass = Space$(256)
'Klassenname ermitteln
GetClassName hwndc, sClass, 255
result = Left$(sClass, InStr(sClass, vbNullChar) - 1)
'Das Fünfte ToolbarWindow32 Fenster ermitteln (Menüleiste)
If WHnd1 = 0 Then
If result = "ToolbarWindow32" Then
Zaehler1 = Zaehler1 + 1
If Zaehler1 = 5 Then
WHnd1 = hwndc
'MsgBox "Das gesuchte Handle ist" & vbNewLine & WHnd1
End If
End If
End If
'Den Button "Jetzt Suchen" ermitteln
If (result = "Button" And sSave = "&Jetzt suchen") Then
WHnd3 = hwndc
End If
'Texteingabefeld ermitteln
If result = "Edit" Then
Zaehler2 = Zaehler2 + 1
If Zaehler2 = 9 Then
WHnd2 = hwndc
'MsgBox "EditBox gefunden" & vbNewLine & WHnd2
End If
End If
'Ergebnisfelder ermitteln (zum Markieren der Downloads und des Traffics)
If result = "SysTreeView32" Then
Zaehler3 = Zaehler3 + 1
If Zaehler3 = 1 Then WHnd6 = hwndc
If Zaehler3 = 3 Then WHnd4 = hwndc
End If
'Text, der überwacht wird, zum Feststellen, ob alle
If result = "Static" And sSave = "Neue Suche oben angeben." Then
WHnd5 = hwndc
End If
If result = "MDIClient" Then WHnd7 = hwndc
If (result = "Button" And sSave = "&Bilder") Then WHnd8 = hwndc
'Eintrag in die Liste um Reihenfolge der Handles zu ermitteln für
' Überprüfung
'Worksheets("Fensterstruktur").Cells(Zaehler, 1).Value = sSave
'Worksheets("Fensterstruktur").Cells(Zaehler, 2).Value = hwndc
'HexHWND = Hex(hwndc)
'Worksheets("Fensterstruktur").Cells(Zaehler, 3).Value = HexHWND & " (HEX)"
'Worksheets("Fensterstruktur").Cells(Zaehler, 4).Value = result
'Aufzählung fortsetzen
EnumChildProc = 1
'Zähler für den Eintrag in Liste hochsetzen
Zaehler = Zaehler + 1
End Function |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
| |
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|