![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из service удалить куки для всех пользователей?
@!!ex © (2010-04-23 23:00:00)Или хотя бы для текущего.
В обычной ситуации просто:
function DeleteUserCookies: Boolean;
var
UserProfileDirectory: ShortString;
SR: TSearchRec;
begin
Byte(UserProfileDirectory[0]):=GetEnvironmentVariable('USERPROFILE',PChar(@UserP rofileDirectory[1]), 255);
if FindFirst(UserProfileDirectory + '\Cookies\*.txt', faAnyFile, SR) = 0 then
begin
repeat
if (SR.Attr <> faDirectory) then DeleteFile(PChar(UserProfileDirectory + '\Cookies\' + SR.Name));
until FindNext(SR) <> 0;
FindClose(SR);
result:=true;
end
else result:=false;
end;
Но сервис заупскается не под правами пользователя, так что доступа к переменной USERPROFILE - нету.
Как быть?
Anatoly Podgoretsky (2010-04-25 10:52:00) [1]> Юрий Зотов (24.04.2010 23:21:05) [5]
А еще кошернее так if SR.Attr and faDirectory <> faDirectory
antonn (2010-04-25 03:00:00) [2]
> Как из service удалить куки для всех пользователей?
куки чьи? в "CSIDL_COOKIES" кранятся куки только от ИЕ
Юрий Зотов (2010-04-24 23:21:00) [3]Маленькое замечание. Некошерно это:
if SR.Attr <> faDirectory...
А вот так кошерно:
if SR.Attr and faDirectory <> 0...
DVM (2010-04-24 10:46:00) [4]http://www.winblog.ru/2007/09/28/28090702.html
там и пример на VisualBasic есть
Anatoly Podgoretsky (2010-04-24 07:46:00) [5]> DVM (24.04.2010 00:12:01) [1]
Только там их нет. Это надо куст подключать
Игорь Шевченко (2010-04-24 00:27:00) [6]
> считать из реестра пути к профилям
там только для загруженных, вроде
DVM (2010-04-24 00:12:00) [7]считать из реестра пути к профилям и удалить