vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

VB & Windows API
Re: String an Textfeld übergeben; "Sendmessage" ? 
Autor: Stefan Linder
Datum: 16.12.06 13:27

Hallo Takami,

ich habe nochmal die Callback-Funktion für EnumChildWindows rausgesucht. Diese liefert dann für jedes Unterfenster eine Messagebox mit Fenstertext, Handle und Fensterklasse. Damit solltest du problemlos das benötigte Handle finden!


Private Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As _
  Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib "user32.dll" Alias "GetClassNameA" ( _
ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As _
Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ( _
ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias _
"GetWindowTextLengthA" (ByVal hwnd As Long) As Long
 
Sub UnterfensterAuflisten (hwnd as Long)
 
EnumChildWindows hwnd, AddressOf EnumChildProc, ByVal 0& 
 
end sub
 
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
    Dim erg 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)
 
    'Reihenfolge der Handles zu ermitteln
 
    erg = "Fenstertext: " & sSave & vbNewLine
    erg = erg & "Handle: " & hwndc & vbNewLine
    erg = erg & "Handle: " & Hex(hwndc) & " (HEX)" & vbNewLine
    erg = erg & "Klassenname: " result
    MsgBox erg
 
    'Aufzählung fortsetzen
    EnumChildProc = 1
 
End Function

Gru?, Stefan

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
String an Textfeld übergeben; "Sendmessage" ?3.665Takami14.12.06 22:08
Re: String an Textfeld übergeben; "Sendmessage" ?2.908Stefan Linder15.12.06 17:08
Re: String an Textfeld übergeben; "Sendmessage" ?2.872Stefan Linder16.12.06 13:27

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