Vider la Corbeille depuis un prog.

YoDa - 4 mai 2001 à 20:38
cs_Angel92 Messages postés 3 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 13 octobre 2003 - 10 oct. 2003 à 16:46
hello ! ,
je voudrais bien savoir comment faire pour vider la corbeille depuis un programme...
un ptit t'exemple ? ;)))$

merci bien
A++ tlm

YoDa

5 réponses

J'ai pas essayé le code.
cf: http://www.allapi.net

Const SHERB_NOCONFIRMATION = &H1
Const SHERB_NOPROGRESSUI = &H2
Const SHERB_NOSOUND = &H4
Private Type ULARGE_INTEGER
  LowPart As Long
  HighPart As Long
End Type
Private Type SHQUERYRBINFO
  cbSize As Long
  i64Size As ULARGE_INTEGER
  i64NumItems As ULARGE_INTEGER
End Type
Private Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" (ByVal hwnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long
Private Declare Function SHUpdateRecycleBinIcon Lib "shell32.dll" () As Long
Private Declare Function SHQueryRecycleBin Lib "shell32.dll" Alias "SHQueryRecycleBinA" (ByVal pszRootPath As String, pSHQueryRBInfo As SHQUERYRBINFO) As Long
Private Sub Form_Load()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    Dim RBinInfo As SHQUERYRBINFO, Msg As VbMsgBoxResult
    RBinInfo.cbSize = Len(RBinInfo)
    SHQueryRecycleBin vbNullString, RBinInfo
    If (RBinInfo.i64Size.LowPart And &H80000000) = &H80000000 Or RBinInfo.i64Size.HighPart > 0 Then
        Msg = MsgBox("Your Recycle Bin consumes over 2 gigabytes right now!" + vbCrLf + "Do you want to empty it?", vbYesNo + vbQuestion)
    Else
        Msg = MsgBox("Your Recycle Bin consumes" + Str$(RBinInfo.i64Size.LowPart) + " bytes right now." + vbCrLf + "Do you want to empty it?", vbYesNo + vbQuestion)
    End If
    If Msg = vbYes Then
        SHEmptyRecycleBin Me.hwnd, vbNullString, 0
        SHUpdateRecycleBinIcon
    End If
End Sub
0
Merci , le code marche mais le seul problème c'est que j'obtiens une fenetre de confirmation ...
merci bien quand même !!

A++

YoDa
0
J'ai trouvé pour ne pas avoir de confirmation mais j'ai un autre problème :

Private Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" (ByVal hwnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long

Private Const SHERB_NORMAL = &H0 'Normal execution

Private Const SHERB_NOCONFIRMATION = &H1 'execute without confirmation

Private Const SHERB_NOPROGRESSUI = &H2 'execute without progress window

Private Const SHERB_NOSOUND = &H4 'execute without sound

Private Const SHERB_NOALL = (SHERB_NOCONFIRMATION And SHERB_NOPROGRESSUI And SHERB_NOSOUND)
Dim RetVal As Long

Private Sub EmpRecBin()
RetVal = SHEmptyRecycleBin(0&, vbNullString, SHERB_NOALL )
End Sub

Pourquoi dans Retval = ShEmpty...... etc... lorsque je met :
SHERB_NOALL j'ai quand même un confirmation pis quand je met : SHERB_NOCONFIRMATION j'en ai pas.. parck'ils on été mis ensembles ces fonctions dans : SHERB_NOALL = (SHERB_NOCONFIRMATION And SHERB_NOPROGRESSUI And SHERB_NOSOUND)

MErci
A++
0
Je sais pas d'où tu tient SHERB_NOALL mais la ligne devrais se lire:

<code>
Private Const SHERB_NOALL = SHERB_NOCONFIRMATION Or SHERB_NOPROGRESSUI Or SHERB_NOSOUND
<table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0><tr><td class=code>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Angel92 Messages postés 3 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 13 octobre 2003
10 oct. 2003 à 16:46
SHEmptyRecycleBin Me.hwnd, vbNullString, 1
plus de message
Angel92
0
Rejoignez-nous