Главная » Язык программирования C#

Как программно очистить cookie, кэш и временные файлы Internet Explorer на C#

Полезная нагрузка данного поста будет полностью состоять лишь в том, что я оставлю следующее здесь:

System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 255") //— полная очистка кэша браузера
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 8") //— удаление временных файлов
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 1") //— удаление журнала посещений
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 16") //— удаление данных веб-форм
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 32") //— удаление сохраненных паролей

Как не сложно понять по этим однотипным запросам, что для соответствующих операций нам необходимо просто запустить приложение rundll32.exe и передать ей соответствующий аргумент.

Хотелось бы так же добавить, что не было найдено способа тихой очистки временных файлов или куки-файлов, так как всегда выходит окно процесса очистки, хотя никаких дополнительных запросов от пользователя не требуется.

Чтобы скрыто удалять куки и кэш браузера Internet Explorer можно использовать например следующий код:

private void cache()
        {
            string sq = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);  //кэш 
            DirectoryInfo dirInfo = new DirectoryInfo(sq);
            foreach (FileInfo file in dirInfo.GetFiles())
            {
                try
                {
                    file.Delete();
                }
                catch { }
            }
            foreach (DirectoryInfo dir in dirInfo.GetDirectories())
            {
                try
                {
                    dir.Delete(true);
                }
                catch { }
            }
            
            sq = Environment.GetFolderPath(Environment.SpecialFolder.Cookies);  //файлы куки
            dirInfo = new DirectoryInfo(sq);
            foreach (FileInfo file in dirInfo.GetFiles())
            {
                try
                {
                    file.Delete();
                }
                catch { }
            }
            foreach (DirectoryInfo dir in dirInfo.GetDirectories())
            {
                try
                {
                    dir.Delete(true);
                }
                catch { }
            }
        }

Стоит отметить, что наблюдаются некоторые проблемы с удалением некоторых файлов(по причине запрета этой операции, либо файл используется, либо еще какая байда — то есть отнюдь не ошибка в коде!), посему каждая попытка удаления куков или временных файлов лежит в блоке try…catch чтобы себе фаталила себе спокойно и мешала дальнейшей работе.

Вот такими способами можно почистить файлы куки и файлы кэша для браузера Internet Explorer(а значит и для Webbrowser) используя для этого язык программирования C#.

Добавить комментарий

Ваш комментарий появится после модерации.