|
Вопрос # 1 146/ вопрос открыт / |
|
Здравствуйте, эксперты!
Как при помощи API функций произвести очистку Коризны, Папки Temp и списка недавних документов?
 |
Вопрос задал: Jake (статус: Посетитель)
Вопрос отправлен: 28 ноября 2007, 12:13
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Feniks
Здравствуйте, Jake!
Для папки Temp можно так делать:
var
sr : TSearchRec;
TempDir : packed array [0..MAX_PATH] of Char;
begin
GetTempPath(MAX_PATH, TempDir);
if FindFirst(TempDir + 'MyApp*.tmp', faAnyFile, sr) = 0 then
try
repeat
DeleteFile(TempDir + sr.Name);
until FindNext(sr) <> 0;
finally
FindClose(sr);
end;
end;
А для работы с корзиной есть API функции в модуле 'shell32.dll':
function SHEmptyRecycleBin(hwnd: HWND; pszRootPath: PChar;
dwFlags: DWORD): HRESULT; stdcall;
external 'shell32.dll' name 'SHEmptyRecycleBinA';
function SHQueryRecycleBin (pszRootPath: PChar;
var SHQueryRBInfo: TSHQueryRBInfo): HRESULT; stdcall;
external 'Shell32.dll' name 'SHQueryRecycleBinA';
Могу дать пример по второй функции, т.е. как узнать о содержимом корзины...
 |
Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 28 ноября 2007, 12:24
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 28 ноября 2007, 12:39; участников в обсуждении: 1.
|
Feniks (статус: Бакалавр), 28 ноября 2007, 12:39 [#1]:
А по поводу папки "Недавние документы", можно использовать метод как для Temp папки, только сначало надо определить путь к ней, а для этого есть API функции. Вырезка из одной статьи...
Некоторые папки имеют особое значение для оболочки. Для нахождения этих специальных папок, а также для того, чтобы пользователь мог сам искать необходимые ему папки, оболочка предоставляет специализированный набор функций: SHGetDesktopFolder Возвращает ин терфейс IShellFolder объекта-папки "Рабочий стол" (Desktop);
SHGetSpecialFolderLocation Возвращает указатель на список идентификаторов специального объекта-папки.
SHBrowseForFolder Проводит диалог с пользователем и возвращает указатель на список идентификаторов выбранного пользователем объекта-папки; SHGetSpecialFolderPath Версия 4.71. Возвращает путь файловой системы для специального объекта-папки. Функция предназначена для работы со специальными папками, а не для работы с виртуальными.
При отсутствии нужной папки может, по требованию приложения, её создавать.
Для указания необходимой специальной папки функции SHGetSpecialFolderLocation и SHGetSpecialFolderPath принимают в качестве параметра одно из ниже указанных значений:
<-- урезано для трафика --->
CSIDL_RECENT Документы (Documents); Каталог файловой системы, содержащий в себе ссылки на самые последние документы, с которыми недавно работал пользователь.
<-- урезано для трафика --->
Необходимо отметить, что эти функции недавно были выделены в отдельную библиотеку - shfolder.dll.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|