Link to home
Start Free TrialLog in
Avatar of jenny62
jenny62

asked on

Empty Recyle Bin problem

I use this code to empty the recycle bin and it works in Windows 2000, XP, and 98, but in 98 there is a problem.
After the recycle bin gets emptied, the recycle bin icon on all the drives gets replaced by the folder "Recycled".
(not the desktop icon, just the recycle bin icon on the root drives, d:, e:, etc) BUT, if I run the app again right after emptying, the icons return.
I would like to have this fixed so that the recycle bin icons get refreshed after each time the recycle bin is emptied.  Also, I'm very much a beginner at this and I don't know if there is anything wrong with this code.
What I was trying to achieve was a command that would empty the recycle bin on all drives, silently, without confirmation, sound, etc. but I don't know if I did it right, even though it does seem to work, aside from the 98 problem.

This is how i have it now

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

Private Sub Command1_Click()
Const SHERB_NOCONFIRMATION = &H1
Const SHERB_NOPROGRESSUI = &H2
Const SHERB_NOSOUND = &H4

Dim retval As Long  ' return value
retval = SHEmptyRecycleBin(Form1.hwnd, "", SHERB_NOCONFIRMATION)
End Sub

TIA
jenny
Avatar of aeklund
aeklund

Try this.. remove the handle from the call..

retval = SHEmptyRecycleBin(0&, 0&, SHERB_NOCONFIRMATION)
Avatar of jenny62

ASKER

Doesn't empty the recycle bin at all with that line.
But thanks for your input.
jenny
Avatar of jenny62

ASKER

Doesn't empty the recycle bin at all with that line.
But thanks for your input.
jenny
Avatar of jenny62

ASKER

Doesn't empty the recycle bin at all with that line.
But thanks for your input.
jenny
Avatar of jenny62

ASKER

Doesn't empty the recycle bin at all with that line.
But thanks for your input.
jenny
Avatar of Ryan Chong
TRy SHUpdateRecycleBinIcon API to update the Recycle Bin's Icon:

Declare Function SHUpdateRecycleBinIcon Lib "shell32.dll" () As Long

Hope this help
ASKER CERTIFIED SOLUTION
Avatar of Ryan Chong
Ryan Chong
Flag of Singapore image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jenny62

ASKER

Well, maybe, but that code is not all silent, it asks for confirmation, and other stuff. I managed to get rid of some of the messages, but I don't know how to get rid of the main one that asks for confirmation.  I am very new at vb and this different code isn't clear to me.
How do I make this silent like the original?
No confirmation, no progress indicator, no sound, no message boxes at all.
Also, I pasted all the code into the general declarations of the Form.  Was that the right way to do it?
In my original, I had a module and a form.
Thanks for understanding.

jenny
Hi jenny62,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept ryancys's comment(s) as an answer.

jenny62, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
==========
DanRollins -- EE database cleanup volunteer