-
@!!ex © (23.04.10 23:00) [0]Или хотя бы для текущего.
В обычной ситуации просто: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 - нету.
Как быть? -
считать из реестра пути к профилям и удалить
-
Игорь Шевченко © (24.04.10 00:27) [2]
> считать из реестра пути к профилям
там только для загруженных, вроде -
Anatoly Podgoretsky © (24.04.10 07:46) [3]> DVM (24.04.2010 00:12:01) [1]
Только там их нет. Это надо куст подключать -
Юрий Зотов © (24.04.10 23:21) [5]Маленькое замечание. Некошерно это:if SR.Attr <> faDirectory...
А вот так кошерно:if SR.Attr and faDirectory <> 0... -
antonn © (25.04.10 03:00) [6]
> Как из service удалить куки для всех пользователей?
куки чьи? в "CSIDL_COOKIES" кранятся куки только от ИЕ -
Anatoly Podgoretsky © (25.04.10 10:52) [7]> Юрий Зотов (24.04.2010 23:21:05) [5]
А еще кошернее так if SR.Attr and faDirectory <> faDirectory