IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Suppression (complète) d'une entrée de l'historique IE


Sujet :

Windows

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Suppression (complète) d'une entrée de l'historique IE
    Bonjour à tous,

    Je développe actuellement une application qui utilise Internet Explorer pour se connecter sur un site (à l'aide de la méthode CreateProcess)...

    J'aimerais pouvoir supprimer de l'historique IE uniquement le site visité par mon application...
    J'ai pu remarquer, que Windows gère l'historique en deux "parties différentes" :
    - Historique affichée (Ctrl+H)
    - Lorsqu'on entre l'url à la main (historique des URL visitées (autocomplétion))

    J'arrive actuellement à supprimer la 2ème partie de l'historique à l'aide de la fonction suivante :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    // Recuperation de l historique
    pUrlHistoryStg2 = NULL;
    CoInitialize( NULL );
    // Instancie un objet avec le CLSID History
    hr = CoCreateInstance( CLSID_CUrlHistory, NULL, CLSCTX_INPROC, IID_IUrlHistoryStg2, ( void** )&pUrlHistoryStg2 );
    if ( SUCCEEDED( hr ) )
       hr = pUrlHistoryStg2->EnumUrls( &ppEnum ); // Enumeration des URLs
     
    while( ppEnum->Next( 1, &url, &ures ) == S_OK ) // On parcours toute la liste
    {
       if (!(url.dwFlags & STATURL_QUERYFLAG_NOURL))
       {
          sprintf_s( strUrl, "%ls", url.pwcsUrl );	// Copie l url (pour le strstr)
          if( strstr( strUrl, "http://www.monsite.com" ) ) // Si l url contient l'adresse de mon site
             pUrlHistoryStg2->DeleteUrl( url.pwcsUrl, 0 );	// Suppression de l entree
       }
    }
    // Liberation de la memoire
    pUrlHistoryStg2->Release();
    ppEnum->Release();
    CoUninitialize();

    Cette fonction fonctionne parfaitement pour supprimer l'autocomplétion (lorsque j'entre l'URL de mon site, IE ne la propose pas)...

    Cependant, lorsque je fais un Ctrl+H pour afficher l'historique, l'URL apparaît encore dans le dossier Shell Historique d'Internet Explorer...

    Je sais où se trouve ce dossier (C:\Documents and Settings\User\Local Settings\Historique\Aujourd'hui\), mais je n'arrive pas à l'effacer (je sais qu'il est en lecture seule, mais même en remettant tous les droits au dossier à la main ça ne fonctionne pas...

    Est-ce que quelqun aurait une idée pour pouvoir supprimer ce dossier d'historique ?

    Merci d'avance pour votre aide !

  2. #2
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    J'ai trouvé la solution, je poste la réponse quand même au cas où quelqu'un aurait le même problème :

    J'ai réussit à trouver le path du fichier où se trouve l'historique (les dossiers affiché en cliquant Ctr+H).

    Vous pourrez le trouver ici :

    C:\Documents and Settings\Nom d'utilisateur\Local Settings\Historique\History.IE5\MSHist012007101920071020\index.dat

    Le nom MSHist012007101920071020 est obtenu de la manière suivante :

    MSHist01date_aujourd'hui_date_demain (les dates sont au format américain)

    J'ai obtenu le path à l'aide du programme gratuit Process Monitor v1.25

    A partir de là il suffit d'ouvrir le fichier avec ifstream et de supprimer les entrées correspondantes à l'URL visitée.

    Attention à ne pas supprimer la ligne, mais uniquement enlever l'URL, sinon le fichier est corrompu et IE ne stockera plus d'historique jusqu'au lendemain (création d'un nouveau fichier).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. suppression d'une entrée du sommaire
    Par grrimag dans le forum VBA Word
    Réponses: 4
    Dernier message: 18/02/2008, 11h17
  2. Supprimer une entrée dans ajout suppression des programmes
    Par lavazavio dans le forum Windows XP
    Réponses: 5
    Dernier message: 01/05/2007, 18h30
  3. [MySQL] Suppression d'une entrée dans ma BDD
    Par Luverger dans le forum PHP & Base de données
    Réponses: 35
    Dernier message: 19/02/2007, 13h39
  4. Suppression d'une entrée en fonction d'un checkbox
    Par Sieldev dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/12/2006, 13h38
  5. JSP : Suppression d'une entrée dans un tableau html
    Par ze veritable farf dans le forum Servlets/JSP
    Réponses: 34
    Dernier message: 11/04/2006, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo