ComboFiles



'Inserire il seguente codice nella sezione dichiarazioni di

'un modulo BAS

Public Const WM_USER = &H400
Public Const LB_DIR = &H18D
Public Const DIR_NORMALFILES = &H0
Public Const DIR_READONLY = &H8001
Public Const DIR_HIDDEN = &H8002
Public Const DIR_SYSTEM = &H8004
Public Const DIR_DIRECTORIES = &H8010
Public Const DIR_ARCHIVED = &H8020
Public Const DIR_DRIVES = &HC000
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
'Inserire una ListBox ed un CommandButton al Form.

'Copiare il seguente codice all'interno del Form

'Routine che carica l'elenco delle unita' disponibili in una LB

Sub ElencaUnita()
Dim RetValue As Long
'Azzero il contenuto della ListBox

List1.Clear
'Creo l'elenco delle unita'

RetValue = SendMessage(List1.hwnd, LB_DIR, DIR_DRIVES, vbNullString)
End Sub

'Routine che carica l'elenco delle directory presenti all'interno

'di un'altra directory, passata come argomento

'Uso: ElencaDirectory "c:\windows\*.*" 'Elenca tutte le directory presenti

'nella directory Windows

Sub ElencaDirectory(PathDiPartenza As String)
Dim RetValue As Long
'Azzero il contenuto della ListBox

List1.Clear
'Creo l'elenco delle directory

RetValue = SendMessage(List1.hwnd, LB_DIR, DIR_DIRECTORIES, _
ByVal PathDiPartenza)
End Sub

'Routine che carica l'elenco dei presenti all'interno

'di una directory, filtrandoli in base agli attributi definiti

'nelle costanti dichiarate nel modulo BAS

'Uso: ElencaFiles "c:\windows\*.*", DIR_NORMALFILES And DIR_ARCHIVED

'Elenca tutti i files con attributo Normale e Archivio della directory Windows

'N.B. e' possibile fare uso dei caratteri jolly dos per la ricerca filtrata

'dei files

Sub ElencaFiles(Path_e_FileDaCercare As String, AttributiFile As Long)
Dim RetValue As Long
'Azzzero il contenuto della ListBox

List1.Clear
'Creo l'elenco dei files

RetValue = SendMessage(List1.hwnd, LB_DIR, AttributiFile, _
ByVal Path_e_FileDaCercare)
End Sub

'Nell'evento Click del CommandButton inserire, volta per

'volta, le chiamate

'a queste routine per vederne il risultato.


(combofiles.html)- by Paolo Puglisi - Modifica del 25/3/2019