strFramework est une structure
sExtension est une chaîne
sModule est une chaîne
sRépertoire est une chaîne
sVersion est une chaîne
sVI est une chaîne
sInfo est une Buffer
FIN
TabDépendance est un tableau de strFramework
UnElement est un strFramework
sListeProcessus est une chaîne
nPID est un entier
sAppli est une chaîne
sDLLInfo est une chaîne
sDLLListe est une chaîne
sNomDLL est une chaîne
sInfoElement est une chaîne= [
Copyright : %1
Description : %2
Mode : %3
Société : %4
VI : %5
Commentaires : %6
]
sListeProcessus =ExeListeProcessus(exePID,exeNomCourt)
POUR TOUTE CHAINEsProcessus DE sListeProcessus SEPAREE PARRC
nPID =ExtraitChaîne(sProcessus,1,TAB)
sAppli =ExtraitChaîne(sProcessus,2,TAB)
SIsAppli ~= (EnModeTest() ?"WDTST.EXE"SINONProjetInfo(piNomEXE))ALORS SORTIR
FIN
sDLLListe =ExeListeDLL(nPID)
POUR TOUTE CHAINEsDLL DE sDLLListe SEPAREE PARRC
sNomDLL =Majuscule(fExtraitChemin(sDLL,fFichier+fExtension))
sDLLInfo += [RC] +sNomDLL +" "+ExeInfo(exeVersion,sDLL)
UnElement.sExtension =fExtraitChemin(sDLL,fExtension)
UnElement.sModule =sNomDLL
UnElement.sVersion =ExeInfo(exeVersion,sDLL)
UnElement.sVI =ExeInfo("VersionVI",sDLL)
UnElement.sRépertoire =fExtraitChemin(sDLL,fDisque+fRépertoire)
UnElement.sInfo =ChaîneConstruit(sInfoElement,ExeInfo(exeCopyright,sDLL),ExeInfo(exeDescription,sDLL),
ExeInfo(exeMode,sDLL),ExeInfo(exeSociété,sDLL),
ExeInfo("VersionVI",sDLL),ExeInfo("Commentaires",sDLL))
TableauAjoute(TabDépendance, UnElement)
FIN
sComposantNom,sComposantChemin,sComposantRépertoire sont des chaînes
POUR TOUTE CHAINEsUnComposant DE ComposantListe() SEPAREE PARRC
sComposantNom =ExtraitChaîne(sUnComposant,1,TAB)
sComposantChemin =ExtraitChaîne(sUnComposant,2,TAB)
sComposantRépertoire =fExtraitChemin(sComposantChemin,fDisque+fRépertoire)
UnElement.sModule =sComposantNom
UnElement.sRépertoire =sComposantRépertoire
UnElement.sVersion =ComposantInfo(sComposantNom,ciVersion,sComposantRépertoire)
UnElement.sVI =ComposantInfo(sComposantNom,ciVersionInterne,sComposantRépertoire)
UnElement.sInfo =ChaîneConstruit("Société émettrice : %1", ...
ComposantInfo(sComposantNom,ciSociété,sComposantRépertoire),
ComposantInfo(sComposantNom,ciCopyright,sComposantRépertoire),
ComposantInfo(sComposantNom,ciLibellé,sComposantRépertoire),
ComposantInfo(sComposantNom,ciVersion,sComposantRépertoire),
ComposantInfo(sComposantNom,ciVersionCompatible,sComposantRépertoire),
ComposantInfo(sComposantNom,ciVersionInterne,sComposantRépertoire),
ComposantInfo(sComposantNom,ciVersionProjet,sComposantRépertoire),
ComposantInfo(sComposantNom,ciNuméroPatch,sComposantRépertoire),
ComposantInfo(sComposantNom,ciNomPhysique,sComposantRépertoire),"")
TableauAjoute(TabDépendance, UnElement)
FIN
POUR TOUT ELEMENT UnElement DE TabDépendance
Trace(UnElement.sModule+"//"+UnElement.sVersion)
FIN