Работа с корзиной в Delphi

Тема в разделе "Delphi - Система", создана пользователем Guest, 23 окт 2004.

Статус темы:
Закрыта.
  1. Guest

    Guest Гость

    Возник такой вопрос: существуют API-функции для работы с корзиной Windows (SHEmptyRecycleBin и SHQueryRecycleBin), но:

    1. Требуется IE 4.0 (точнее shell32.dll версии 4.71 и выше).
    2. Нет функций для работы с каждым файлом в корзине (размер, имя,
    возможность восстановления и удаления).

    Как же делать эти операции (и желательно без зависимости от версии системных библиотек) ?
     
  2. Barmutik

    Barmutik Гость

    Использовать IShellFolder...

    1. Создаём объект работы с корзиной...
    AError := CoCreateInstance(CLSID_IRecycleBin, nil, CLSCTX_INPROC_SERVER or
    CLSCTX_LOCAL_SERVER, IID_IShellFolder, RecycleBin);

    2. Получаем список файлов в корзине...
    RecycleBin.EnumObjects(0, SHCONTF_FOLDERS or SHCONTF_NONFOLDERS or SHCONTF_INCLUDEHIDDEN,
    EnumIDList);

    3. Бежим по списку ...
    while EnumIDList.Next(1, FileItemIDList, ItemCount) = NOERROR do
    begin
    RecycleBin.GetDisplayNameOf(FileItemIDList, SHGDN_FORPARSING, StrRet);
    ... наши операции
    end;

    Не забыть сначала проинициализировать OLE а в конце файнализировать...
    CoInitialize(nil);
    ....
    CoUninitialize;

    Удачи! Если что непонятно спрашивайте дальше...
     
Загрузка...
Похожие Темы - Работа корзиной Delphi
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    20
  2. Hoasker
    Ответов:
    0
    Просмотров:
    64
  3. garri671
    Ответов:
    0
    Просмотров:
    52
  4. lelik200969
    Ответов:
    0
    Просмотров:
    50
  5. Kozolick
    Ответов:
    0
    Просмотров:
    136
Статус темы:
Закрыта.

Поделиться этой страницей