bueno primero necesitamos saber que Usb escanear, para eso agregamos un control "ComboBox" lo agregamos y ponemos un boton con el texto "actualizar" con el siguiente codigo:
Código:
ComboBox1.Items.Clear()
Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
Dim drive As IO.DriveInfo
For Each drive In allDrives
If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
ComboBox1.Items.Add(drive.Name)
End If
Next
(ademas seria bueno agregarlo al load del formulario)
luego ponemos un boton con el texto "escanear"
y el siguiente codigo
Código:
'Este para evitar errores
If ComboBox1.SelectedItem = "" Then
MsgBox("Seleccione una unidad", MsgBoxStyle.Critical, "Error")
Else
'Aqui va el codigo de la vacuna
Try
'declaramos cual es la unidad
Dim usb As String
usb = ComboBox1.Text
'buscamos la clasica carpeta
If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
'Obtenemos los archivos reales de la carpeta
For Each foundFile As String In My.Computer.FileSystem.GetFiles _
(usb + "/RECYCLER", _
FileIO.SearchOption.SearchAllSubDirectories)
'Quitamos privilegios a los archivos
IO.File.SetAttributes(foundFile, IO.FileAttributes.Normal)
Next
'Obtenemos las subcarpetas reales de la carpeta
For Each foundDirectory As String In _
My.Computer.FileSystem.GetDirectories _
(usb + "/RECYCLER", _
FileIO.SearchOption.SearchAllSubDirectories)
'Quitamos privilegios a los subdirectorios
IO.File.SetAttributes(foundDirectory, IO.FileAttributes.Normal)
Next
'Quitamos privilegios a la carpeta en si
IO.File.SetAttributes(usb + "/RECYCLER", IO.FileAttributes.Normal)
'y por fin la borramos
My.Computer.FileSystem.DeleteDirectory(usb + "/RECYCLER", FileIO.DeleteDirectoryOption.DeleteAllContents)
'Nos aseguramos que ya no hay virus
If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
MsgBox("No se logro eliminar el virus", MsgBoxStyle.Exclamation, "Error")
Else
MsgBox("Virus eliminado con exito", MsgBoxStyle.Information, "Exito")
End If
Else
'Si no se encontro el virus este mensaje aparece
MsgBox("No se encontro el virus", MsgBoxStyle.Information, "Informacion")
End If
Catch
'Un mensaje de error personalizado simple
MsgBox("Error durante la operacion", MsgBoxStyle.Critical, "Error")
End Try
End If
en total el codigo de la vacuna seria este:
Código:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ComboBox1.Items.Clear()
Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
Dim drive As IO.DriveInfo
For Each drive In allDrives
If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
ComboBox1.Items.Add(drive.Name)
End If
Next
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ComboBox1.Items.Clear()
Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
Dim drive As IO.DriveInfo
For Each drive In allDrives
If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
ComboBox1.Items.Add(drive.Name)
End If
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Este para evitar errores
If ComboBox1.SelectedItem = "" Then
MsgBox("Seleccione una unidad", MsgBoxStyle.Critical, "Error")
Else
'Aqui va el codigo de la vacuna
Try
'declaramos cual es la unidad
Dim usb As String
usb = ComboBox1.Text
'buscamos la clasica carpeta
If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
'Obtenemos los archivos reales de la carpeta
For Each foundFile As String In My.Computer.FileSystem.GetFiles _
(usb + "/RECYCLER", _
FileIO.SearchOption.SearchAllSubDirectories)
'Quitamos privilegios a los archivos
IO.File.SetAttributes(foundFile, IO.FileAttributes.Normal)
Next
'Obtenemos las subcarpetas reales de la carpeta
For Each foundDirectory As String In _
My.Computer.FileSystem.GetDirectories _
(usb + "/RECYCLER", _
FileIO.SearchOption.SearchAllSubDirectories)
'Quitamos privilegios a los subdirectorios
IO.File.SetAttributes(foundDirectory, IO.FileAttributes.Normal)
Next
'Quitamos privilegios a la carpeta en si
IO.File.SetAttributes(usb + "/RECYCLER", IO.FileAttributes.Normal)
'y por fin la borramos
My.Computer.FileSystem.DeleteDirectory(usb + "/RECYCLER", FileIO.DeleteDirectoryOption.DeleteAllContents)
'Nos aseguramos que ya no hay virus
If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
MsgBox("No se logro eliminar el virus", MsgBoxStyle.Exclamation, "Error")
Else
MsgBox("Virus eliminado con exito", MsgBoxStyle.Information, "Exito")
End If
Else
'Si no se encontro el virus este mensaje aparece
MsgBox("No se encontro el virus", MsgBoxStyle.Information, "Informacion")
End If
Catch
'Un mensaje de error personalizado simple
MsgBox("Error durante la operacion", MsgBoxStyle.Critical, "Error")
End Try
End If
End Sub
End Class
bueno espero que les guste y les dejo el link de descarga
http://www.badongo.com/file/11279851
se aceptarn dudas comentarias y demas
salu2