본문 바로가기

천년열혼/프로그래밍

Vb.Net 휴지통비우기

SHEmptyRecycleBin 함수는 시스템(System)의 휴지통을 비웁니다.

▶VB.NET 선언

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


 

▶VB.NET 호출

Private Const SHERB_NOCONFIRMATION = &H1
Private Const SHERB_NOPROGRESSUI = &H2
Private Const SHERB_NOSOUND = &H4

SHEmptyRecycleBin(Me.Handle.ToInt32, vbNullString, SHERB_NOCONFIRMATION + SHERB_NOSOUND)
 


SHEmptyRecycleBin을 호출할때는 첫번째 인수로 호출하는 Process의 Handle을 전달합니다. 휴지통을 비울때 관련 메세지를 표시하지 않도록 하려면 &H1값을 전달하며 휴지통에서 대량의 데이터가 존재하는 경우 휴지통을 비우는 진행상태를 표시하지 않으려면 &H2값을 전달합니다. &H4는 휴지통을 비울때 소리가 나지 않도록 합니다.

그런데 실제 SHEmptyRecycleBin함수를 호출하여 휴지통을 비우면 휴지통이 차있는 아이콘모양에서 휴지통이 비어있는 아이콘모양으로 바뀌지 않는걸 볼 수 있습니다. 이런 아이콘의 모양을 즉시 변경하려면 SHUpdateRecycleBinIcon API함수를 호출해야 합니다.

▶VB.NET 선언과 호출

Private Declare Function SHUpdateRecycleBinIcon Lib "shell32.dll" () As Int32

SHUpdateRecycleBinIcon()

 

 

'천년열혼 > 프로그래밍' 카테고리의 다른 글

[푸드다이어리] 업데이트 버전  (4) 2015.04.26
푸드다이어리 V1.0  (0) 2015.04.26