Envoyer un fichier à la corbeille de windows

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 590 fois - Téléchargée 45 fois

Contenu du snippet

Pour ne pas être aussi direct que la méthode "KILL", c'est pas du top, mais c'est pratique et ça peut aider les débutants comme ça m'a aidé...
Copiez ce code, placez le dans un nouveau module et utilisez la fonction: Corbeillation...

Source / Exemple :


' Depuis votre programme commandez la fonction:
'Corbeillation ("c:\machin\AFAC.bmp")... avec bien sûr n'importe quel autre fichier...
' Et vous aurez la boite vous proposant de jeter ce fichier à la
' corbeille (si vs cliquez sur OUI)

Private Type Fichier
     hwnd As Long
     wFunc As Long
     pFrom As String
     pTo As String
     fFlags As Integer
     fAnyOperationsAborted As Boolean
     hNameMappings As Long
     lpszProgressTitle As String
End Type
'API utilisée pour jeter des fichiers à la corbeille
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As Fichier) As Long
'Constantes nécessaires
Private Const FO_DELETE = &H3
Private Const FOF_ALLOWUNDO = &H40

Public Function Corbeillation(Fic As String) As Boolean
Dim FicAvirer As Fichier
Dim lReturn As Long
If Dir$(Fic) = "" Then Exit Function
With FicAvirer
    .wFunc = FO_DELETE
    .pFrom = Fic     'fichier sélectionné
    .fFlags = FOF_ALLOWUNDO
End With
'Jette le fichier à la poubelle
lReturn = SHFileOperation(FicAvirer)
End Function

A voir également

Ajouter un commentaire Commentaires
cs_aligator Messages postés 18 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 15 mai 2008
30 mai 2008 à 15:00
Bonjour,
on peut aussi ainsi déposer un folder complet dans la corbeille, il suffit de suprimer la ligne :

If Dir$(Fic) = "" Then Exit Function

JP
Manu_12 Messages postés 11 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 22 octobre 2007
5 mars 2004 à 18:47
Petit complément d'info sur cette fonction (SHFile operation). On peux supprimer plusieurs fichiers d'un coup.
Il faut pour ca que ta variable de type string soit composé des noms complets de fichiers espacés d'un caractère null (chr(0)) et que la chaine soit terminée par un caractère null supplémentaire
exemple :

private suppFiles()
'lvlistview etant une listview avec multiselection
dim i as integer, Dfiles as string
'passe tous les éléments de la liste pour trouver ceux selectionnés
For i = 1 To lvListView.ListItems.Count
'si la condition est vrai (sélectionné) renvoi le contenu de "l'item" qui contient le chemin complet
If lvListView.ListItems(nblist).Selected True Then Dfiles Dfiles & lvListView.ListItems.Item(nblist) & chr(0)
next i
'rajotue un caractère null a la fin
Dfiles = Dfiles & chr(0)
'passe a la fonction corbeillation la chaine ainsi constitué
Corbeillation (Dfiles)
end sub

NOTA :
Par contre l'isntruction if dir (fic) = "" devietn caduque dans cette hypothèse.
Pour garder ce garde fou vous pouvez :
- soit :
utiliser la fonction If dir$(lvListView.ListItems.Item(nblist) ) =""
dans la "sub" ci dessus et ne pas ajotuer la chaine si le fichier n'existe pas,
- soit :
créer un tableau a l'interieur de la fonction "corbeillation" a partir de la fonction split
split (fic,chr(0))
Cette fonction créé un tableau avec une entrée pour chaque chaine.
A partir de la on peux tester individuellement toutes les entrées du tableau par la fonction dir()
ex :
for i = lbound(fic) to ubound(fic)
if dir(fic(i))="" then exit function
next i

heu..c pigé ? :)
Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004
1 oct. 2002 à 19:54
Dja vu !

(mé ca peut être pratique sans koi !)
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
1 oct. 2002 à 18:01
Très pratique, merci

DARK SIDIOUS

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.