In
Visual Basic Microsoft la gestione
del lettore DVD permette di rilevare la presenza
dell'unità ottica, verificare l'inserimento di un
disco, leggere file e cartelle contenuti nel DVD edeffettuare operazioni di
masterizzazione tramite le API di Windows. Le
funzioni principali utilizzano le classi del
namespace System.IO e, perla scrittura dei dischi,
le librerie IMAPI integrate nel
sistema operativo.
Gestione del DVD
Pubblicato il: 17-6-2026
Ultima Modifica: 17-6-2026
Leggere e Scrivere un DVD con Visual Basic .NET
Introduzione
Visual Basic .NET permette di sviluppare applicazioni in
grado di leggere e scrivere dati su supporti ottici come CD
e DVD. Tuttavia, a differenza della normale gestione dei
file presenti sul disco rigido, la masterizzazione di un DVD
richiede l'utilizzo di specifiche librerie di Windows
dedicate alla registrazione dei dati.
In questo articolo vedremo come:
Verificare la presenza di un DVD nel lettore.
Leggere i file presenti sul DVD.
Copiare file sul DVD utilizzando le API di
masterizzazione di Windows.
Gestire eventuali errori.
Verifica della presenza del DVD
Per prima cosa è possibile controllare se nel lettore è
presente un disco.
Imports System.IO
Private Sub VerificaDVD()
Dim unita() As DriveInfo = DriveInfo.GetDrives()
For Each d As DriveInfo In unita
If d.DriveType = DriveType.CDRom Then
If d.IsReady Then
MessageBox.Show("DVD presente nell'unità " & d.Name)
Else
MessageBox.Show("Nessun DVD inserito.")
End If
End If
Next
End Sub
Questo codice individua tutte le unità CD/DVD presenti
nel sistema e verifica se contengono un disco leggibile.
Leggere i file contenuti nel DVD
Una volta individuata l'unità ottica, è possibile
elencare tutti i file presenti.
Imports System.IO
Private Sub LeggiDVD()
Dim percorsoDVD As String = "D:\"
If Directory.Exists(percorsoDVD) Then
Dim files() As String =
Directory.GetFiles(percorsoDVD, "*.*",
SearchOption.AllDirectories)
For Each file As String In files
ListBox1.Items.Add(file)
Next
End If
End Sub
Il programma visualizza in una ListBox tutti i file
presenti sul DVD.
Leggere il contenuto di un file
Se il DVD contiene un file di testo, è possibile aprirlo
e leggerne il contenuto.
Imports System.IO
Private Sub LeggiFile()
Dim testo As String
testo = File.ReadAllText("D:\documento.txt")
TextBox1.Text = testo
End Sub
Scrivere un DVD
La semplice copia di file in un'unità DVD non è
sufficiente per effettuare una masterizzazione.
Windows mette a disposizione il sistema IMAPI (Image
Mastering API) che consente di registrare dati su CD e DVD.
Per utilizzare IMAPI è necessario aggiungere un
riferimento COM al progetto:
Progetto
Aggiungi riferimento
COM
Microsoft IMAPI2
Una volta aggiunto il riferimento, è possibile accedere
alle funzionalità di masterizzazione.
Preparazione dei file da masterizzare
Per esempio, si può creare una cartella contenente i file
da registrare.
Dim cartellaOrigine As String = "C:\DaMasterizzare"
Successivamente si utilizzeranno gli oggetti IMAPI per
creare il file system ISO e trasferirlo sul DVD.
Esempio semplificato
Dim masterizzatore As New IMAPI2.MsftDiscRecorder2
L'oggetto rappresenta il dispositivo di registrazione.
Dopo aver configurato il recorder, si crea un'immagine
ISO contenente i file desiderati e la si invia al
masterizzatore.
Il codice completo di una procedura professionale
richiede diverse decine di righe e la gestione degli eventi
di avanzamento della registrazione.
Copiare un file sul DVD tramite Esplora Risorse
Molti programmi Visual Basic preferiscono affidare la
masterizzazione a Windows:
process.Start("explorer.exe", "D:\")
L'applicazione apre l'unità DVD consentendo all'utente di
trascinare i file e completare la registrazione mediante gli
strumenti integrati del sistema operativo.
Gestione degli errori
È consigliabile utilizzare sempre il blocco Try...Catch.
Try
Dim testo As String =
File.ReadAllText("D:\prova.txt")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
In questo modo eventuali errori dovuti all'assenza del
DVD o a problemi di lettura vengono intercettati senza
provocare il blocco del programma.
Limitazioni dei DVD
Quando si lavora con supporti ottici occorre ricordare
che:
Un DVD-R può essere scritto una sola volta.
Un DVD-RW può essere cancellato e riutilizzato.
La velocità di scrittura è inferiore rispetto a SSD e
chiavette USB.
Alcuni lettori non supportano tutti i formati.
La masterizzazione richiede librerie specifiche come
IMAPI.
Conclusione
Visual Basic .NET consente di leggere facilmente i file
contenuti in un DVD utilizzando le classi standard del
namespace System.IO. Per la scrittura e la masterizzazione è
invece necessario utilizzare le API IMAPI di Windows oppure
affidarsi a software esterni specializzati.
Per applicazioni semplici, la lettura dei file da DVD è
immediata; per la registrazione dei dati è consigliabile
utilizzare IMAPI2, che offre un controllo completo del
processo di masterizzazione direttamente dal codice Visual
Basic.