Конференция "WinAPI" » Как из service удалить куки для всех пользователей?
 
  • @!!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 - нету.
    Как быть?
  • DVM © (24.04.10 00:12) [1]
    считать из реестра пути к профилям и удалить
  • Игорь Шевченко © (24.04.10 00:27) [2]

    > считать из реестра пути к профилям


    там только для загруженных, вроде
  • Anatoly Podgoretsky © (24.04.10 07:46) [3]
    > DVM  (24.04.2010 00:12:01)  [1]

    Только там их нет. Это надо куст подключать
  • DVM © (24.04.10 10:46) [4]
    http://www.winblog.ru/2007/09/28/28090702.html

    там и пример на VisualBasic есть
  • Юрий Зотов © (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
 
Конференция "WinAPI" » Как из service удалить куки для всех пользователей?
Есть новые Нет новых   [134431   +15][b:0][p:0.001]