Guide e Tutorials:indexed | |||||||||||||||
La funzione SHQueryRecycleBin (Tutorial completo) L'API in questione riceve informazioni dal Cestino e determina le sue dimensioni ed il numero di files in esso contenuti. La dichiarazione della funzione corrisponde al seguente blocco:
Come spesso accade, il valore di ritorno della funzione è un intero a 32 bit. Se tale valore è pari a 0, significa che si è verificato un errore nell'esecuzione della funzione. In caso di perfetto funzionamento, il valore di ritorno sarà un intero diverso da zero. Diamo ora un'occhiata ai parametri necessari all'API SHQueryRecycleBin:
Prima di poter chiamare la funzione è però necessario definire la struttura SHQUERYRBINFO ed in particolare il membro cbSize che ne indica le dimensioni. La struttura in questione è la seguente:
Non bisogna preoccuparsi della definizione della struttura ULARGE_INTEGER che al fine dell'utilizzo della funzione è del tutto superflua. Basti sapere che è così indicata:
Ritornando alla struttura SHQUERYRBINFO possiamo aggiungere che essa archivia tutte le informazioni legate al Cestino. Informazioni che sono rispettivamente le dimensioni dello stesso e gli oggetti contenuto in esso. E Cestino che può essere il Cestino di ogni drive, se presente. Elenchiamo qui di seguito i membri della struttura:
Terminiamo con un esempio. Vogliamo visualizzare in una finestra di messaggio se e quanti files sono contenuti nel Cestino del sistema, nella directory "C:". Dichiariamo dunque l'API e le due strutture complete di ogni loro membro, usando per ognuno di essi la notazione Private in modo da poterli utilizzare nel codice della form invece di dover aprire un nuovo modulo:
|
Private Sub Form_Load() Dim InfoSulCestino As SHQUERYRBINFO Dim ValoreDiRitorno As Long InfoSulCestino.cbSize = Len(InfoSulCestino) |
ValoreDiRitorno = SHQueryRecycleBin("C:\", InfoSulCestino) |
MsgBox "Il Cestino contiene " & InfoSulCestino.i64NumItems.LowPart & " oggetti" MsgBox "Le dimensioni del Cestino sono pari a " & InfoSulCestino.i64Size.LowPart _ & "bytes" End Sub |
Private Declare Function SHQueryRecycleBin Lib "shell32.dll" Alias _
"SHQueryRecycleBinA" (ByVal pszRootPath _ As String, pSHQueryRBInfo As SHQUERYRBINFO) As Long Private Type ULARGE_INTEGER LowPart As Long HighPart As Long End Type Private Type SHQUERYRBINFO cbSize As Long i64Size As ULARGE_INTEGER i64NumItems As ULARGE_INTEGER End Type Private Sub Form_Load() Dim InfoSulCestino As SHQUERYRBINFO Dim ValoreDiRitorno As Long InfoSulCestino.cbSize = Len(InfoSulCestino) ValoreDiRitorno = SHQueryRecycleBin("C:\", InfoSulCestino) MsgBox "Il Cestino contiene " & InfoSulCestino.i64NumItems.LowPart & " oggetti" MsgBox "Le dimensioni del Cestino sono pari a " & InfoSulCestino.i64Size.LowPart _ & "bytes" End Sub |
Archivio:ndexed | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |