Grabar CD con WindowsXP desde VB

22/07/2003 - 18:25 por VB | Informe spam
Hola grupo,
El tema es el siguiente:
Tengo una aplicación que corre sobre WindowsXP, y mi aplicación tiene que
copiar archivos directamente al CD. WindowsXP permite grabar directamente a
CD como si fuese un Disco de 3'5". Quiero aprovecharlo y mi intención es
poder hacer lo mismo pero desde Visual Basic. He provado de hacerlo con

Call FileCopy("C:\FicheroOrigen", "D:\FicheroDestino")

pero me da problemas, porque lo que hace el Windows XP es guardarlo en una
carpeta temporal, y cuando uno desea copiarlo definitivamente, tiene que ir
a la unidad de CD y hacer "Guardar estos archivos en un CD" que se encuentra
en el menú Archivos. Cuando intento hacerlo me da error, supongo por este
motivo. Creo que podria llegar a dejarlo en el directorio temporal
correspondiente, pero luego no se como activar el "Guardar estos archivos en
un CD" desde Visual Basic.
Alguien puede ayudarme?
Cualquer idea puede ser buena.

Muchas gracias de antemano,

VB.
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP]
22/07/2003 - 19:27 | Informe spam
El shell provee una interface para quemar los CDs. Hasta donde yo se, no
esta expuesta para ser usada con VB por lo que requieres de una libreria de
tipo que defina este objeto. En mi web puedes encontrar la libreria
OLELIB.TLB que define esta interface (ICDBurn) y objeto (CDBurn). Los
archivos deben estar en el directorio temporal para que sean grabados.

Dim oCDBurn As CDBurn
Dim sCD As String

Set oCDBurn = New CDBurn

If oCDBurn.HasRecordableDrive Then

sCD = Space$(3)
oCDBurn.GetRecorderDriveLetter sCD, 3

If MsgBox("El CD grabable es: " & sCD & _
". Desea grabar?", vbYesNo) = vbYes Then

oCDBurn.Burn Me.hWnd

End If

Else
MsgBox "No hay CD grabable en el sistema"
End If

Eduardo A. Morcillo [MS MVP - VB]
http://www.mvps.org/emorcillo

Preguntas similares