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

VB.NET - Fortgeschrittene
Re: Fremde Listbox per Handle auslesen? 
Autor: ModeratorDaveS (Moderator)
Datum: 09.08.11 10:56

Sowas macht man mit SendMessage() bzw PostMessage() APIs und die in MSDN dokumentierten Windows Messages wie LB_GETTEXT. Hier ist ein Beispiel
    Public Enum LB As UInteger
        SETSEL = &H185
        GETSELITEMS = &H191
        GETSELITEMCOUNT = &H190
        GETCURSEL = &H188
        SELECTSTRING = &H18C
        SETCURSEL = &H186
        FINDSTRING = &H18F
        GETITEMCOUNT = &H18B
        GETSEL = &H187
        GETTEXT = &H189
        RESETCONTENT = &H184
        GETTEXTLEN = &H18A
    End Enum
 
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function FindWindow( _
     ByVal lpClassName As String, _
     ByVal lpWindowName As String) As IntPtr
    End Function
 
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As _
    UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
    End Function
 
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As _
    UInteger, ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr
    End Function
 
    Private Sub GetListItem()
        Dim textlen, itemCount, selIndex As Integer
        Dim itemText As String
 
        Dim hWin As IntPtr = ListBox1.Handle
 
        itemCount = SendMessage(hWin, LB.GETITEMCOUNT, IntPtr.Zero, IntPtr.Zero)
 
        selIndex = SendMessage(hWin, LB.GETCURSEL, IntPtr.Zero, IntPtr.Zero)
        itemText = New String(Chr(0), 100)
        textlen = SendMessage(hWin, LB.GETTEXT, New IntPtr(selIndex), itemText)
        itemText = itemText.Substring(0, textlen)
        MsgBox(itemText)
    End Sub

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Fremde Listbox per Handle auslesen?2.721Soldier424208.08.11 22:23
Re: Fremde Listbox per Handle auslesen?2.732ModeratorDaveS09.08.11 10:56
Re: Fremde Listbox per Handle auslesen?2.073Soldier424209.08.11 18:15
Re: Fremde Listbox per Handle auslesen?2.413ModeratorDaveS09.08.11 20:47
Re: Fremde Listbox per Handle auslesen?2.088Soldier424209.08.11 21:21

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