Problème nettoyage fichiers temp + traces par scripts

Le
géjoun
Bonjour,

Sous XP pro, je me suis créé un script pour nettoyer régulièrement les
fichiers temp + historique internet comme décrit dans "nettoyage automatisé"
ici : http://pagesperso.scola.ac-paris.fr/cmuir/nettoyage_xp.htm

Ca fonctionne plutot bien, sauf pour l'historique.
J'ai remarqué que si je lance directement le fichier bat en double cliquant
dessus, les fichiers contenus dans temp sont bien effacés, mais pas forcément
ceux de l'historique. Ou alors, ils sont effacés dans le dossier historique
dans "C:Documents and SettingsuserLocal SettingsHistorique", mais si je
ré-ouvre internet explorer, je peux quand même réaccéder à mon historique des
sites visités.

J'ai un peu du mal à comprendre d'ou ça vient?
Quelqu'un pourrait-il m'expliquer?

Merci!

--
géjoun
dam-mail2007@ifrance.com
/Enlever l''année pour m''écrire/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Crest Teethgel
Le #1223684
Ca fonctionne plutot bien, sauf pour l'historique.

J'ai un peu du mal à comprendre d'ou ça vient?
Quelqu'un pourrait-il m'expliquer?


Bien que l'historique soit accessible avec l'explorer, on ne le nettoie que par programmation.

Voici à quoi cela peut ressembler en C++/COM

/*
* ClearHistory
*
* But:
* Effacer l'historique du profile de l'usager
*
* Parametres:
* void
*
* Valeur retournée:
* HRESULT Statut de l'execution de la commande
*
* Commentaire:
*
*/
static HRESULT ClearHistory(void)
{
IUrlHistoryStg2 *pUrlHistoryStg2 = NULL;

SetLastError(0);
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);

HRESULT result = CoCreateInstance(CLSID_CUrlHistory,
NULL,
CLSCTX_INPROC,
IID_IUrlHistoryStg2,
reinterpret_cast < void ** > (&pUrlHistoryStg2));
if (SUCCEEDED(result)) {
result = pUrlHistoryStg2->ClearHistory();
pUrlHistoryStg2->Release();
}

CoUninitialize();
return result;
}

géjoun
Le #1222725
Bonjour,

Bien que l'historique soit accessible avec l'explorer, on ne le nettoie que par programmation.


Donc, j'en déduis que mon fichier bat ne sert à rien à ce niveau là?

Voici à quoi cela peut ressembler en C++/COM

/*
* ClearHistory
*
* But:
* Effacer l'historique du profile de l'usager
*
* Parametres:
* void
*
* Valeur retournée:
* HRESULT Statut de l'execution de la commande
*
* Commentaire:
*
*/
static HRESULT ClearHistory(void)
{
IUrlHistoryStg2 *pUrlHistoryStg2 = NULL;

SetLastError(0);
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);

HRESULT result = CoCreateInstance(CLSID_CUrlHistory,
NULL,
CLSCTX_INPROC,
IID_IUrlHistoryStg2,
reinterpret_cast < void ** > (&pUrlHistoryStg2));
if (SUCCEEDED(result)) {
result = pUrlHistoryStg2->ClearHistory();
pUrlHistoryStg2->Release();
}

CoUninitialize();
return result;
}



Merci pour ce code, mais il faudrait en faire quoi? Le mettre dans un *.COM?
Et je pourrais l'utiliser en tâche planifiée comme un bat?

Merci!

--
géjoun

/Enlever l''année pour m''écrire.../

géjoun
Le #1219880
Crest Teethgel nous expliquait :

Ca fonctionne plutot bien, sauf pour l'historique.

J'ai un peu du mal à comprendre d'ou ça vient?
Quelqu'un pourrait-il m'expliquer?


Bien que l'historique soit accessible avec l'explorer, on ne le
nettoie que par programmation.

Voici à quoi cela peut ressembler en C++/COM

/*
* ClearHistory
*
* But:
* Effacer l'historique du profile de l'usager
*
* Parametres:
* void
*
* Valeur retournée:
* HRESULT Statut de l'execution de la commande
*
* Commentaire:
*
*/
static HRESULT ClearHistory(void)
{
IUrlHistoryStg2 *pUrlHistoryStg2 = NULL;

SetLastError(0);
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);

HRESULT result = CoCreateInstance(CLSID_CUrlHistory,
NULL,
CLSCTX_INPROC,
IID_IUrlHistoryStg2,
reinterpret_cast < void ** >
(&pUrlHistoryStg2)); if (SUCCEEDED(result)) {
result = pUrlHistoryStg2->ClearHistory();
pUrlHistoryStg2->Release();
}

CoUninitialize();
return result;
}


Bonsoir,

Finalement, vu que je comprenais pas comment me servir de ce script, j'ai
trouvé un utilitaire pour faire ce que je voulais, à la place des lignes de
commande.
C'est ClearProg http://www.clearprog.de/index.php?lang=en ;et vu qu'il est
autant possible de le lancer par tâches, que au moment de la déconnexion en
mode silencieux, et en ayant conservé les paramêtres définis auparavant, il
est parfait pour ce que je voulais faire!

Si ça peut servir à d'autres...
--
géjoun

/Enlever l'année pour répondre.../


Publicité
Poster une réponse
Anonyme