Urgent : supprimer un fichier

cs_firehc Messages postés 5 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 28 janvier 2003 - 28 janv. 2003 à 14:11
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 - 28 janv. 2003 à 14:48
Salut,
Comment supprimer un fichier sur une machine distante avec Vb, j'ai essayé le Kill, mais il ne reconnais pas les chemins UNC du type : \\nomduserveur\chemindufichieràsupprimer, quelqu'un aurait-il la soluce, merci a tous ce qui auront une idée.

1 réponse

gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
28 janv. 2003 à 14:48
Hello,

La solution est d'utiliser les même API que celle de Windows (Vu qu'elle supprime même les fichiers d'autre machine).

Alors Voila,

--> Tout est à mettre dans un module.

Private Type SHFILEOPSTRUCT
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

Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Public Const FO_DELETE = &H3
Public Const FOF_NOCONFIRMATION = &H10

--> La c'est la Fonction de suppression.

Public Function EraseFile_Trashcan(byVal sFileName As String, byVal Optional bPasDeConfirmation As Boolean = False) As Long
Dim FileOperation As SHFILEOPSTRUCT
Dim lReturn As Long

If Len(sFileName) > 0 And FileExist(sFileName) = False Then
Exit Function
End If

With FileOperation
.wFunc = FO_DELETE
.pFrom = sFileName
.fFlags = FOF_ALLOWUNDO
If bPasDeConfirmation Then .fFlags = .fFlags Or FOF_NOCONFIRMATION
End With

lReturn = SHFileOperation(FileOperation)

End Function

A++
[Gally Home Corp]
0