Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с Cookies Internet Explorer [D7, XP]


Canya ©   (2009-07-16 16:36:00) 

Здравствуйте!!! Подскажите как Удалить куки IE.
Попробывал вот такой код, но ни чего неудаляется
function GetUserName:string;
{Определение имени пользователя}
var
Buffer: array[0..MAX_PATH] of Char;
sz:DWord;
begin
sz:=MAX_PATH-1;
if windows.GetUserName(Buffer,sz)
then begin
 if sz>0 then dec(sz);
 SetString(Result,Buffer,sz);
end else begin
 Result:='Error '+inttostr(GetLastError);
end;
end;
procedure TForm1.FormCreate(Sender: TObject); var SearchRec: TSearchRec;
begin
//webbrowser1.Navigate(' http://postoy-site.narod.ru/');
s:=PChar('C:\Documents and Settings\'+GetUserName+'\Cookies');
ShellExecute(Handle,'open',s,nil,nil,SW_SHOW);
IdCookieManager1.Destroy;
label1.Caption:=GetUserName;

if FindFirst(s+'*.txt', faAnyFile, SearchRec) <> 0 then
repeat
DeleteFile(ExpandFileName(SearchRec.Name));
until
FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;


Плохиш   (2009-07-21 11:02:00) [1]


> Canya   (17.07.09 19:38) [9]
>
> Дак Ищет то FindFirst и FindNext. А ExpandFileName возвращает
> полное имя файла (с абсолютным путем) по неполному имени.
>

Можно цитату из справки с подтверждением этого бреда?


brother   (2009-07-21 09:50:00) [2]

единственное, что я не понял - зачем удалять все куки пользователя?


Canya   (2009-07-18 18:34:00) [3]

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;

Я сообразил все. Спасибо за помощь


Canya   (2009-07-18 17:23:00) [4]


s:=PChar('C:\Documents and Settings\'+GetUserName+'\Cookies\');
if FindFirst('*.txt', faAnyFile, SearchRec) <> 0 then  
repeat
DeleteFile(ExpandFileName(s+SearchRec.Name));
until
FindNext(SearchRec) <> 0;
FindClose(SearchRec);


Такой код тоже не удаляет


Игорь Шевченко   (2009-07-17 20:40:00) [5]


> А ExpandFileName возвращает полное имя файла (с абсолютным
> путем) по неполному имени


deletefile(s+SearchRec.Name);


Canya   (2009-07-17 19:38:00) [6]

Дак Ищет то FindFirst и FindNext. А ExpandFileName возвращает полное имя файла (с абсолютным путем) по неполному имени. Но я не пойму почему не работает. Подскажите, пожалуйста


Плохиш   (2009-07-17 15:15:00) [7]


> Canya   (17.07.09 13:15) [7]
>
>
> > Справку по функции ExpandFileName уже изучил?
>
> Я понимаю в скрытых папках не ищет это функция?

Эта функция ничего не ищет...


Canya   (2009-07-17 13:15:00) [8]


> Справку по функции ExpandFileName уже изучил?

Я понимаю в скрытых папках не ищет это функция?


Плохиш   (2009-07-17 13:09:00) [9]


> Canya   (17.07.09 13:04) [4]

Справку по функции ExpandFileNameуже изучил?


Canya   (2009-07-17 13:08:00) [10]


> s:=PChar('C:\Documents and Settings\'+GetUserName+'\Cookies\');
>
> if FindFirst(s+'*.txt', faAnyFile, SearchRec) <> 0 then
> repeat
> DeleteFile(ExpandFileName(SearchRec.Name));
> until
> FindNext(SearchRec) <> 0;
> FindClose(SearchRec);
> end;  

Забыл написать, что Обрабатывается нажатием на Button


Canya   (2009-07-17 13:04:00) [11]

Я просто пробовал разные способы.
Вот код которым я хотел удалить все текстовые файлы из папки Cookies:
function GetUserName:string;
{Определение имени пользователя}
var
Buffer: array[0..MAX_PATH] of Char;
sz:DWord;
begin
sz:=MAX_PATH-1;
if windows.GetUserName(Buffer,sz)
then begin
 if sz>0 then dec(sz);
 SetString(Result,Buffer,sz);
end else begin
 Result:='Error '+inttostr(GetLastError);
end;
end;
s:=PChar('C:\Documents and Settings\'+GetUserName+'\Cookies\');
if FindFirst(s+'*.txt', faAnyFile, SearchRec) <> 0 then
repeat
DeleteFile(ExpandFileName(SearchRec.Name));
until
FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;  

подскажите почему не удаляются файлы?


brother   (2009-07-17 06:25:00) [12]

> '*.txt'

там еще index.dat есть...


brother   (2009-07-17 06:24:00) [13]

> но ни чего неудаляется

аргументируй...


palva   (2009-07-16 21:59:00) [14]


> ShellExecute(Handle,'open',s,nil,nil,SW_SHOW);
> IdCookieManager1.Destroy;

Расскажите, что делают эти строчки.

Ваша программа удаляет файлы из директории
'C:\Documents and Settings\'+GetUserName+'\Cookies'
И что, файлы не удаляются?


Наверх

Титульная страница Поиск, карта сайта Написать письмо