Автор статьи: Беседин Игорь
Как программно очистить "корзину"?
Чтобы очистить корзину, объявите API-функцию:
Private Declare Function SHEmptyRecycleBinW Lib "shell32.dll" (ByVal hwnd As Long, ByVal Path As String, ByVal Flags As Long) As Long
где hwnd - дескриптор окна (используйте 0 или дескриптор своего окна);
Path - диск на котором будет очищаться корзина;
Flags -флаги.
А чтобы ее вызвать вставьте такой код:
Если Вам нужно обычная очистка "корзины", т.е. с окном подтверждения очистки, то вставьте
SHEmptyRecycleBinW 0, "", 0
Если не нужно показывать окно подтверждения, то вставьте
SHEmptyRecycleBinW 0, "", 1
Если Вам не нужно чтобы пользователь видел процесс удаления файлов из "корзины", вставьте
SHEmptyRecycleBinW 0, "", 2
Чтобы не было звука "Очистка корзины", вставьте такой код:
SHEmptyRecycleBinW 0, "", 4
"А что делать, - спросите Вы, - чтобы не было звука и окна подтверждения, а пользователь видел процесс очистки корзины и т.п.?"
Здесь все очень просто: нужно сложить флаги, отвечающие за какую-то функцию. Например, если использовать флаг 3 (1+2), будет слышен только звук очистки корзины, окон подтверждения очистки и процесса очистки не будет.
При любом воспроизведении этой статьи (и других статей с этого сайта) ставьте ссылку на сайт www.igoryksoft.narod.ru