vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Controlname und Controlinhalt aus Fremder Anwendung1.025MeinSmart09.02.06 17:25
Re: Controlname und Controlinhalt aus Fremder Anwendung687Stefan Linder10.02.06 12:34
Re: Controlname und Controlinhalt aus Fremder Anwendung733Stefan Linder10.02.06 12:49

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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