Laufwerke, Ordner und Dateien in ListBox anzeigen

Laufwerke, Ordner und Dateien in ListBox anzeigen via SendMessage
Das FileListBox-Steuerelement ist ziemlich langsam. Windows stellt für Listenfelder einen eigenen
Darstellungsmodus zur Verfügung, bei dem Laufwerke, Ordner und Dateien wahlweise angezeigt
werden können. In folgendem Beispiel bezeichnet List1 ein ListBox-Steuerelement:
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByRef lParam As String) As Long
Private Const LB_DIR As Long = &H18D& ListBox für Dateianzeige.
Private Const DDL_READWRITE As Long = &H0& Dateien ohne spezielle Attribute anzeigen.
Private Const DDL_READONLY As Long = &H1& Schreibgeschützte Dateien anzeigen.
Private Const DDL_HIDDEN As Long = &H2& Versteckte Dateien anzeigen.
Private Const DDL_SYSTEM As Long = &H4& Systemdateien anzeigen.
Private Const DDL_DIRECTORY As Long = &H10& Ordner anzeigen.
Private Const DDL_ARCHIVE As Long = &H20& Archivierte Dateien anzeigen.
Private Const DDL_DRIVES As Long = &H4000& Laufwerke anzeigen.
' Nur Dateien mit dem gewünschten Attribut anzeigen, sonst werden Dateien ohne spezielle
' Attribute immer angezeigt.
Private Const DDL_EXCLUSIVE As Long = &H8000&
' Der Einsatz wäre mit dem folgenden Code möglich: die Konstanten werden nacheinander in separaten Aufrufen
' von 'SendMessage' gesendet, da sonst keine Sortierung nach Laufwerken, Ordnern und Dateien erfolgt.
' Laufwerke hinzufügen.
Call SendMessage(Form1.List1.hWnd, LB_DIR, _
DDL_DRIVES Or DDL_EXCLUSIVE, ByVal "C:\*.*")
' Ordner hinzufügen.
Call SendMessage(Form1.List1.hWnd, LB_DIR, _
DDL_DIRECTORY Or DDL_EXCLUSIVE, ByVal "C:\*.*")
' Dateien ohne spezielle Attribute hinzufügen.
Call SendMessage(Form1.List1.hWnd, LB_DIR, 0&, ByVal "C:\*.*")

Mehr Tipps: Keylogger - Tastatureingaben lokal speichern

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt