Visual Basic – Rad sa Recycle Bin-om

Jedna od vrlo korisnih stvari koja je doลกla sa Windows-om je „Recycle Bin“ – privremeno skladiลกte za nepotrebne fajlove koji su spremni za brisanje.

Uobiฤajeno je da se za brisanje fajlova u Visual Basic-u koristi naredba „Kill“, koja nepovratno uklanja nepotrebne fajlove. Ali zaลกto za ovakvu priliku ne bi iskoristili snaลพnu API funkciju koja ฤ‡e nepotrebne fajlove prebaciti u Recycle Bin, i na taj naฤin vas obezbediti od sluฤajnog brisanja fajlova.

API funkcija koja omoguฤ‡ava smeลกtanje nepotrebnih fajlova u Recycle Bin je „SHFileOperation„, a nalazi se u sistemskoj biblioteci „shell32.dll„, u kojoj se inaฤe nalaze i ostale funkcije koje se uglavnom odnose na interfejs Windows-a. Da vidimo kako se koristi ova funkcija, pre svega dodajte sledeฤ‡i kod u sekciju deklaracija vaลกeg projekta:


Public Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As Long
End Type

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

Public Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40


Ovaj kod je potreban za koriลกฤ‡enje API funkcije SHFileOperation, ali ne brinite – programski kod potreban za uklanjanje fajla u Recycle Bin, dugaฤak je samo nekoliko linija. Na primer, postavite na formu jedno komandno dugme i nazovite ga „cmdPrebaciUBin“ i dodajte sledeฤ‡i kod u dogaฤ‘aj Click:


Dim SHop As SHFILEOPSTRUCT
Dim strFile as string

strFile = „c:zdravo.txt“

With SHop
.wFunc = FO_DELETE
.pFrom = strFile
.fFlags = FOF_ALLOWUNDO
End With
SHFileOperation SHop


Pre nego ลกto pokrenete program i pritisnete dugme, kreirajte tekstualni fajl u root folderu diska i nazovite ga „zdravo.txt“. Mada, za ovaj primer moลพete iskoristi bilo koji fajl na disku koji vam nije potreban, samo promenite putanju varijabli „strFile“. Sada, kada pritisnete dugme, dati fajl ฤ‡e se premestiti sa root-a u Recycle Bin, i na taj naฤin neฤ‡e biti definitivno izbrisan veฤ‡ ฤ‡ete moฤ‡i da ga povratite.

Pratite Krstaricu na www.krstarica.com