Функция SHQueryRecycleBin

Declare Function SHQueryRecycleBin Lib "shell32" Alias "SHQueryRecycleBinA" ( _
    ByVal pszRootPath As String, _
    pSHQueryRBInfo As SHQUERYRBINFO) As Long

SHQueryRecycleBin возвращает информацию о количестве файлов в Корзине и сколько дискового пространства они занимают. Эта функция будет работать с Корзиной выбранного диска, а также с Корзиной всей системы

Возвращаемое значение

В случае ошибки функция возвращает код ошибки, отличный от нуля. В успешном случае функция возвратит 0

Параметры

pszRootPath
Путь к диску для отдельной Корзины. Если эта строка пуста, функция вместо этого делает запрос всех Корзин системы в целом
pSHQueryRBInfo
Получает число байтов в Корзине и число элементов в нем. Элемент структуры cbSize должен быть инициализирован перед запросом функции

Пример

' Отобразим число элементов в Корзине на диске C:
' и размер корзины
Dim rbinfo As SHQUERYRBINFO ' информация о Корзине
Dim retval As Long ' возвращаемое значение

' Инициализируем размер структуры
rbinfo.cbSize = Len(rbinfo)
' узнаем содержимое корзины на C:
retval = SHQueryRecycleBin("C:\", rbinfo) 
' Отобразим число элементов в Корзине, если значение
' в пределах чисел, поддерживаемых Visual Basic
If (rbinfo.i64NumItems.LowPart And &H80000000) = &H80000000 Or rbinfo.i64NumItems.HighPart > 0 Then
  Debug.Print "Корзина содержит более 2 миллиардов элементов"
Else
  Debug.Print "Корзина содержит"; rbinfo.i64NumItems.LowPart; "элементов."
End If
' количестов байтов в Корзине
If (rbinfo.i64Size.LowPart And &H80000000) = &H80000000 Or rbinfo.i64Size.HighPart > 0 Then
  Debug.Print "Корзина содержит более 2 гигабайт"
Else
  Debug.Print "Корзина содержит"; rbinfo.i64Size.LowPart; "байт"
End If

Смотри также

SHEmptyRecycleBin

Категория

Оболочка