4 votes

Effacer l'historique de navigation Internet Explorer 6.0 en utilisant un script

J'utilisais le script suivant pour supprimer l'historique de navigation dans IE 7.0

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

Mais maintenant j'ai besoin d'un script pour effacer l'historique de navigation dans IE 6.0

Je reçois une erreur indiquant "entrée ClearMyTracksByProcess manquante" J'ai essayé avec différents paramètres comme 2, 5, etc. sans succès.

3voto

cV2 Points 101
// test.cpp : Définit le point d'entrée de l'application de la console.
//

#include "stdafx.h"
#include "test.h"
#include  // Nécessaire pour CLSID_CUrlHistory
#include  // Nécessaire pour IUrlHistoryStg2 et IID_IUrlHistoryStg2

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// L'unique objet de l'application

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    // Initialiser MFC et afficher une erreur en cas d'échec
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        // TODO: changer le code d'erreur en fonction de vos besoins
        _tprintf(_T("Erreur fatale : échec de l'initialisation de MFC\n"));
        nRetCode = 1;
    }
    else
    {
        // TODO: codez le comportement de votre application ici.

        IUrlHistoryStg2* pHistory;  // Nous avons besoin de cette interface pour effacer l'historique.
        HRESULT hr;
        DWORD cRef;
        CoInitialize(NULL);
        // Charger la classe correcte et demander IUrlHistoryStg2
        hr = CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_INPROC_SERVER,
        IID_IUrlHistoryStg2, reinterpret_cast(&pHistory));

        if (SUCCEEDED(hr))
        {
         // Effacer l'historique d'IE
         hr = pHistory->ClearHistory();
        }
        // Libérer notre référence à l'interface
        cRef = pHistory->Release();
        CoUninitialize();
    }

    return nRetCode;
}

2voto

VonC Points 414372

Depuis INETCPL.CPL version 7.0 qui est fourni avec Internet Explorer 7 possède un point d'entrée nommé ClearMyTracksByProcessW, il est possible qu'il ne soit pas présent dans IE6.

Par conséquent, un script peut être une solution plus basique :

@ECHO OFF
ECHO * Nettoyage des dossiers Temporaire de l'Utilisateur Actuel *
FOR /D %%G IN ("C:\Documents and Settings\*.*") DO DEL/S/Q/F "%%G\Cookies\*.*"
FOR /D %%G IN ("C:\Documents and Settings\*.*") DO DEL/S/Q/F "%%G\Local Settings\Temp\*.*"
FOR /D %%G IN ("C:\Documents and Settings\*.*") DO DEL/S/Q/F "%%G\Local Settings\History\*.*"
FOR /D %%G IN ("C:\Documents and Settings\*.*") DO DEL/S/Q/F "%%G\Local Settings\Temporary Internet Files\*.*"
Echo * Terminé *
PAUSE
CLS 

(vous pouvez garder uniquement les "delete" qui vous intéressent dans ce script)

Cependant, comme rapporté dans ce fil de discussion, cela peut ne pas être suffisant.


La seule autre solution serait d'utiliser un utilitaire tiers (gratuit) :

texte alternatif http://www.ccleanerbeginnersguide.com/ccleanerhelp.pngCCleaner

D'autres options sont mentionnées dans ce fil de discussion:

0voto

jeffamaphone Points 31732

ClearMyTracks() ne faisait pas partie de IE6, donc vous ne pouvez pas faire le même tour.

Si vous voulez juste effacer l'historique, vous pouvez écrire un petit programme qui CoCreate(CLSID_CUrlHistory, IID_IUrlHistoryStg2) et ensuite appeler IUrlHistoryStg::ClearHistory().

Devrait également être capable de le faire en VBScript, mais je ne connais pas le bon mojo.

0voto

Flash Points 61

Mauvaise nouvelles, les gens

Essayer de supprimer l'historique de l'internet en utilisant ClearMyTracksByProcess sur Win 7 avec IE8/9 ne fonctionne plus et vous ne pouvez nettoyer que certains fichiers en exécutant des commandes de suppression dos au démarrage car Microsoft utilise des dossiers super cachés, verrouille les fichiers, eh bien c'est un grand chaos et contrarie Big Brother.

Ce code nettoie IE8/9 ainsi que FireFox et les objets partagés/cookies flash mais si vous voulez supprimer les fichiers Index.dat alors cliquez sur mon nom pour voir le code.

utiliser Système;
utiliser System.Collections.Generic;
utiliser System.IO;
utiliser System.Diagnostics;
utiliser System.Text;

espace de noms Fidling
{
    public statique class SuppressionLogicielsEspions
    {
        private statique void SupprimerFichiersLogicielsEspions(string CheminRacine, string Chemin, bool Recursif)
        {
            string CheminComplet = CheminRacine + Chemin + "\\";
            si (Directory.Exists(CheminComplet))
            {
                DirectoryInfo DInfo = nouveau DirectoryInfo(CheminComplet);
                FileAttributes Attr = DInfo.Attributes;
                DInfo.Attributes = FileAttributes.Normal;
                pour chaque string NomFichier dans Directory.GetFiles(CheminComplet)
                {
                    SupprimerFichierLogicielEspion(NomFichier);
                }
                si (Recursif)
                {
                    pour chaque string NomDossier dans Directory.GetDirectories(CheminComplet)
                    {
                        SupprimerFichiers("", NomDossier, vrai);
                        essayer { Directory.Delete(NomDossier); }catch { }
                    }
                }
                DInfo.Attributes = Attr;
            }
        }

        private statique void SupprimerFichierLogicielEspion(string NomFichier)
        {
            si (File.Exists(NomFichier))
            {
                essayer { File.Delete(NomFichier); }catch { }//Verrouillé par quelque chose et vous pouvez oublier d'essayer de supprimer les fichiers Index.dat de cette manière
            }
        }

        private statique void SupprimerFichiersFireFox(string CheminFireFox)
        {
            SupprimerFichierLogicielEspion(CheminFireFox + "cookies.sqlite");
            SupprimerFichierLogicielEspion(CheminFireFox + "content-prefs.sqlite");
            SupprimerFichierLogicielEspion(CheminFireFox + "downloads.sqlite");
            SupprimerFichierLogicielEspion(CheminFireFox + "formhistory.sqlite");
            SupprimerFichierLogicielEspion(CheminFireFox + "search.sqlite");
            SupprimerFichierLogicielEspion(CheminFireFox + "signons.sqlite");
            SupprimerFichierLogicielEspion(CheminFireFox + "search.json");
            SupprimerFichierLogicielEspion(CheminFireFox + "permissions.sqlite");
        }

        public statique void ExecuterNettoyage()
        {
            essayer { TuerProcessus("iexplore"); }
            catch { }//Doit s'arrêter au cas où ils ont verrouillé les fichiers que nous voulons supprimer
            essayer { TuerProcessus("FireFox"); }
            catch { }//Doit s'arrêter au cas où ils ont verrouillé les fichiers que nous voulons supprimer
            string CheminRacine = Environment.GetFolderPath(Environment.SpecialFolder.Personal).ToLower().Replace("documents", "");
            SupprimerFichiers(CheminRacine, @"AppData\Roaming\Macromedia\Flash Player\#SharedObjects",faux);
            SupprimerFichiers(CheminRacine, @"AppData\Roaming\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys\#local", faux);
            SupprimerFichiers(CheminRacine, @"AppData\Local\Temporary Internet Files", faux);//Non fonctionnel
            SupprimerFichiers("", Environment.GetFolderPath(Environment.SpecialFolder.Cookies), vrai);
            SupprimerFichiers("", Environment.GetFolderPath(Environment.SpecialFolder.InternetCache), vrai);
            SupprimerFichiers("", Environment.GetFolderPath(Environment.SpecialFolder.History), vrai);
            SupprimerFichiers(CheminRacine, @"AppData\Local\Microsoft\Windows\Wer", vrai);  
            SupprimerFichiers(CheminRacine, @"AppData\Local\Microsoft\Windows\Caches", faux);          
            SupprimerFichiers(CheminRacine, @"AppData\Local\Microsoft\WebsiteCache", faux);
            SupprimerFichiers(CheminRacine, @"AppData\Local\Temp", faux);
            SupprimerFichiers(CheminRacine, @"AppData\LocalLow\Microsoft\CryptnetUrlCache", faux);
            SupprimerFichiers(CheminRacine, @"AppData\LocalLow\Apple Computer\QuickTime\downloads", faux);
            SupprimerFichiers(CheminRacine, @"AppData\Local\Mozilla\Firefox\Profiles", faux);
            SupprimerFichiers(CheminRacine, @"AppData\Roaming\Microsoft\Office\Recent", faux);
            SupprimerFichiers(CheminRacine, @"AppData\Roaming\Adobe\Flash Player\AssetCache", faux);
            si (Directory.Exists(CheminRacine + @"\AppData\Roaming\Mozilla\Firefox\Profiles"))
            {
                string CheminFireFox = CheminRacine + @"AppData\Roaming\Mozilla\Firefox\Profiles\";
                SupprimerFichiersFireFox(CheminFireFox);
                pour chaque string SousChemin dans Directory.GetDirectories(CheminFireFox)
                {
                    SupprimerFichiersFireFox(SousChemin + "\\");
                }
            }
        }

        private statique void TuerProcessus(string NomProcessus)
        {//Nous devons tuer Internet Explorer et Firefox pour les empêcher de verrouiller les fichiers
            NomProcessus = NomProcessus.ToLower();
            pour chaque Processus P dans Process.GetProcesses())
            {
                si (P.ProcessName.ToLower().StartsWith(NomProcessus))
                    P.Kill();
            }
        }
    }
}

0voto

Michael Bakker Points 1

Je vais vous donner un coup de main là-dessus.. c'est ce que j'utilise moi-même.

je fais apparaître une boîte de dialogue, éditez-la comme vous le souhaitez

@echo off
echo.
echo Effacer l'historique 
echo Veuillez fermer cette fenêtre si l'ouverture était une erreur.
pause
echo.
echo Effacer l'historique: Explorateur de fichiers
Del /F /Q %APPDATA%\Microsoft\Windows\Recent\*
Del /F /Q %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\*
Del /F /Q %APPDATA%\Microsoft\Windows\Recent\CustomDestinations\*
REG Delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /VA /F
REG Delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths /VA /F 
echo.
echo Terminé!
echo.
echo -----------------------------------------------------------------------------------
echo.
echo Effacer l'historique: Firefox
echo.
echo Recherche des données 'Firefox'
set DataDir=C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles
IF NOT EXIST "%DataDir%" GOTO NOFIREFOXDIR
del /q /s /f "%DataDir%"
rd /s /q "%DataDir%"
for /d %%x in (C:\Users\%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles\*) do del /q /s /f %%x\*sqlite
GOTO YESFIREFOXDIR
:NOFIREFOXDIR
echo.
echo Firefox NON trouvé!
echo.
GOTO CHROMESETUP
:YESFIREFOXDIR
echo.
echo Terminé!
echo.
:CHROMESETUP
echo -----------------------------------------------------------------------------------
echo.
echo Effacer l'historique: Google Chrome
echo.
echo Recherche des données 'Google Chrome'.
set ChromeDir=C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data
IF NOT EXIST "%ChromeDir%" GOTO NOCHROMEDIR
del /q /s /f "%ChromeDir%"
rd /s /q "%ChromeDir%"
GOTO YESCHROMEDIR
:NOCHROMEDIR
echo.
echo Google Chrome NON trouvé!
echo.
GOTO OPERASETUP
:YESCHROMEDIR
echo.
echo Terminé!
echo.
:OPERASETUP
echo -----------------------------------------------------------------------------------
echo.
echo Effacer l'historique: Opera
echo.
echo Recherche des données 'Opera'.
set OperaDir=C:\Users\%USERNAME%\AppData\Local\Opera\Opera
set OperaDir2=C:\Users\%USERNAME%\AppData\Roaming\Opera\Opera
IF NOT EXIST "%OperaDir%" GOTO OPERA2
del /q /s /f "%Opera%"
rd /s /q "%Opera%"
:OPERA2
IF NOT EXIST "%OperaDir2%" GOTO NOOPERADIR
del /q /s /f "%Opera2%"
rd /s /q "%Opera2%"
GOTO YESOPERADIR
:NOOPERADIR
echo.
echo Opera NON trouvé!
echo.
GOTO APPLESETUP
:YESOPERADIR
echo.
echo Terminé!
echo.
:APPLESETUP
echo -----------------------------------------------------------------------------------
echo.
echo Effacer l'historique: Apple Safari
echo.
echo Recherche des données 'Apple Safari'.
set AppleDir=C:\Users\%USERNAME%\AppData\Local\Applec~1\Safari
set AppleDir2=C:\Users\%USERNAME%\AppData\Roaming\Applec~1\Safari
IF NOT EXIST "%AppleDir%" GOTO APPLESETOP
del /q /s /f "%AppleDir%\History"
rd /s /q "%AppleDir%\History"
del /q /s /f "%AppleDir%\Cache.db"
del /q /s /f "%AppleDir%\WebpageIcons.db"
:APPLESETOP
IF NOT EXIST "%AppleDir2%" GOTO NOAPPLEDIR
del /q /s /f "%AppleDir2%"
rd /s /q "%AppleDir2%"
GOTO YESAPPLEDIR
:NOAPPLEDIR
echo.
echo Apple Safari NON trouvé!
echo.
GOTO INTESETUP
:YESAPPLEDIR
echo.
echo Terminé!
echo.
:INTESETUP
echo -----------------------------------------------------------------------------------
echo.
echo Effacer l'historique: Microsoft Internet Explorer
echo.
echo Recherche des données 'Microsoft Internet Explorer'.
set IEDataDir=C:\Users\%USERNAME%\AppData\Local\Microsoft\Intern~1
IF NOT EXIST "%IEDataDir%" GOTO HISTORYDIR
del /q /s /f "%IEDataDir%"
rd /s /q "%IEDataDir%"
:HISTORYDIR
set History=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\History
IF NOT EXIST "%History%" GOTO IETEMPDIR
del /q /s /f "%History%"
rd /s /q "%History%"
:IETEMPDIR
set IETemp=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Tempor~1
IF NOT EXIST "%History%" GOTO COOKIESDIR
del /q /s /f "%IETemp%"
rd /s /q "%IETemp%"
:COOKIESDIR
set Cookies=C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Cookies
IF NOT EXIST "%Cookies%" GOTO FLASHCCC
del /q /s /f "%Cookies%"
rd /s /q "%Cookies%"
:FLASHCCC
set FlashCookies=C:\Users\%USERNAME%\AppData\Roaming\Macromedia\Flashp~1
IF NOT EXIST "%FlashCookies%" GOTO FINAL
del /q /s /f "%FlashCookies%"
rd /s /q "%FlashCookies%"
:FINAL
echo.
cls
echo.
echo Merci d'avoir utilisé notre nettoyeur...
echo.
pause

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X