Soyez le premier à donner votre avis sur cette source.
Vue 10 770 fois - Téléchargée 1 146 fois
'Ici, la déclaration pour recherchez les fichiers. Sub FilesSearch(DrivePath As String, Ext As String) Dim XDir() As String Dim TmpDir As String Dim FFound As String Dim DirCount As Integer Dim X As Integer ' 'Initialises les Variables DirCount = 0 ReDim XDir(0) As String XDir(DirCount) = "" If Right(DrivePath, 1) <> "\" Then DrivePath = DrivePath & "\" End If frmprincipal.Label1 = DrivePath ' 'Entrée le code pour voir la direction désiré ' Example: Form1.label2 = DrivePath ' 'Cherche pour toute les directions et fichier dnas la varible ' 'XDir() DoEvents TmpDir = Dir(DrivePath, vbDirectory) Do While TmpDir <> "" Or (Arret = True) If TmpDir <> "." And TmpDir <> ".." Then If (GetAttr(DrivePath & TmpDir) And vbDirectory) = vbDirectory Then XDir(DirCount) = DrivePath & TmpDir & "\" DirCount = DirCount + 1 ReDim Preserve XDir(DirCount) As String End If End If TmpDir = Dir Loop ' 'Cherche les fichiers possédant l'extention voulu FFound = Dir(DrivePath & Ext) Do Until FFound = "" frmprincipal.lstCherche.AddItem DrivePath & FFound ' 'Le code présent prévoit l'action de fichier trouvédans ' 'la variable FFound. ' 'Example: Form1.list1.AddItem DrivePath & FFound FFound = Dir Loop 'Recherche récursives dans toutes les sous direction For X = 0 To (UBound(XDir) - 1) FilesSearch XDir(X), Ext Next X If X = (UBound(XDir)) Then End If End Sub '--------Le menu ---- Private Sub apropo_Click() frmAbout.Show 'apparition de la form a propos End Sub Private Sub lstListe_Click() End Sub Private Sub cmbliste_Change() End Sub Private Sub cmdarréter_Click() End Sub Private Sub cmdrecherche_Click() '--------Suivant la case selectioné dans ma combo liste, le fichier a chercher 'sera différent. Select Case comboliste.Text Case ".log" Call FilesSearch("C:\", "*.log") Case ".lgc" lstCherche.Clear Call FilesSearch("C:\Windows\APPLOG", "*.lgc") Case ".txt" lstCherche.Clear Call FilesSearch("C:\", "*log*.txt") Case "netbios" lstCherche.Clear Call FilesSearch("C:\Windows\", "lmhosts") Case ".sav" lstCherche.Clear Call FilesSearch("C:\", "*log*.sav") Case "Eventsystem" lstCherche.Clear Call FilesSearch("C:\", "EventSystem.*") Case "Internetlog" lstCherche.Clear Call FilesSearch("C:\Windows\Internet Logs", "*.ldb") Case "Internetlog2" lstCherche.Clear Call FilesSearch("C:\Windows\Internet Logs", "*.RDB") Case "Prefetch" lstCherche.Clear Call FilesSearch("C:\Windows\Prefetch\", "*.pf") Case "fiz" lstCherche.Clear Call FilesSearch("C:\", "fiz*") Case "backup" lstCherche.Clear Call FilesSearch("C:\", "*.backup") End Select End Sub Private Sub cmdsuppr_Click() On Error GoTo erreur '---------- Et oui les erreurs sa arrive Kill (lstCherche.List(lstCherche.ListIndex)) '----suppression fichier selectionné lstCherche.RemoveItem (lstCherche.ListIndex) - suppression du fichier dans '-----------la liste Exit Sub erreur: MsgBox ("Impossible de supprimé le fichier : " & vbCrLf & " Le fichier à supprimer et utilisé par un autre programme." & vbCrLf & "Pour rémédier à cela fermer toutes les applications en cour.") lstCherche.RemoveItem (lstCherche.ListIndex) End Sub Private Sub cmdsupprall_Click() '--------- pour tout supprimé On Error GoTo erreur For i = 0 To lstCherche.ListCount - 1 '-------- supprime tous les fichiers 1par 1 Kill (lstCherche.List(i)) lstCherche.RemoveItem (i) Next i Exit Sub erreur: MsgBox ("Impossible de supprimé un des fichiers : " & vbCrLf & " Un des fichiers à supprimer et utilisé par un autre programme." & vbCrLf & "Pour rémédier à cela fermer toutes les applications en cour.") lstCherche.RemoveItem (i) End Sub Private Sub comboliste_Click() '------Suivant la case de ma combo liste selectionné l'explication dans mon ' ------- label sera differente Select Case comboliste.Text Case ".log" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Les fichers .log sont installé par les applications." Case ".lgc" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Les fichers .lgc sont installé par windows dans le repertoir applog." Case ".txt" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Les fichiers .txt sont des log mais en version non crypté." Case "netbios" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Lors d'une connection par netbios un fichier lmhosts et créé celui ci contient l'adresse ip du pc distant." Case ".sav" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Les fichier .sav sont des sauvegardes de log." Case "Eventsystem" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "C'est le log du system d'evenement." Case "Internetlog" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Se sont les logs du trafic internet." Case "Internetlog2" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Se sont les logs du trafic internet. (Win XP)" Case "Prefetch" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Des raccourcis inutiles contenant les noms de vos applications. (Win XP)" Case "fiz" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Des fichiers enregistrant les pages web visités. (Win XP) " Case "backup" MsgBox ("Attention : Les fichiers supprimés ne pourront êtres retrouvés !!!") lbldescription.Caption = "Des fichiers de sauvegardes" End Select End Sub Private Sub Quitter_Click() Unload Me '------- fermeture de la form End End Sub
14 oct. 2004 à 20:28
Pour l'ajout des signatures, je n'ai pas fait se logiciel pour les virus, mais pour les log, autrement j'ai ajouté récement deux autre sources une pour les spyware et une pour les keyloggers :
spyware :
http://www.vbfrance.com/code.aspx?ID=26618
keylogger :
http://www.vbfrance.com/code.aspx?ID=26738
Si ça t'interresse .....
Allé bon code
14 oct. 2004 à 17:59
Ta source proposée concernant la recherche, suppression de fichier ressemble fortement à celle déposée sur le site, je pense notamment à celle de l'AntiVirus de la source http://www.vbfrance.com/code.aspx?ID=21418
Il serait interessant d'y rajouter à ce titre les signatures des fichiers malveillants afin de détecter des virus...
Merci
a+
m4phkrt
23 avril 2004 à 15:31
ce qui serait bien c'est que tu mettes à quoi servent tes variables, ce serait beaucoup plus facile pour comprendre.
Sinon à part ça merci de l'avoir mis, bonne source et bonne méthode de recherche.
YOYO269
5 févr. 2004 à 12:18
Un petit rappel du Manuel Access concernant la fonction dir et la récursivité !!! :
Il est cependant impossible d'appeler la fonction Dir de manière récursive. Les appels Dir comportant l'attribut vbDirectory ne renvoient pas continuellement les sous-répertoires.
Finalement, j'ai du utiliser les OCX des DriveListBox/DirListBox/et DirListFile pour les recherches approfondies. C'est plus rapide et surtout plus clean pour le mode récursif... On peut également appliquer des motifs pour les recherche.
;-)
salut
26 janv. 2004 à 10:01
Je suis en train de rappatrier une application que j'ai développé sous access, et les modules de recherche ne font pas appelle aux mêmes méthodes.
Je présume que des définitions "de type external" auraient pu fonctionner, mais je souhaite que cet outil soit le plus autonome possible.
Donc je suis bien content de trouver ton exemple.
D'autre part pour ceux qui ne connaissent pas bien la récursivité, c'est un excellent exemple de cas pratique.
Bravo et merci c'est ce qui me manquait pour avancer !!!! :-)
PS ta combolist est une excellente idée à réutiliser ... Tu devrais pour toi en revoir la conception en imaginant n'avoir aucune répétition.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.