Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème nettoyage fichiers temp + traces par scripts

3 réponses
Avatar
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 Settings\user\Local Settings\Historique", 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.../

3 réponses

Avatar
Crest Teethgel
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;
}

Avatar
géjoun
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.../

Avatar
géjoun
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.../