[COLOR=deeppink]Sub ProcessDeviceChange(wParam As Long, lParam As Long)[/COLOR]
Dim DBHdr As DEV_BROADCAST_HDR
Dim DBVol As DEV_BROADCAST_VOLUME
CopyMemory DBHdr, ByVal lParam, LenB(DBHdr)
Select Case wParam
Case DBT_DEVICEARRIVAL
'See if a CD-ROM or DVD was inserted into a drive.
If DBHdr.dbch_devicetype = DBT_DEVTYP_VOLUME Then
CopyMemory DBVol, ByVal lParam, LenB(DBVol)
If (DBVol.dbcv_flags And DBTF_MEDIA) = DBTF_MEDIA Then
frmMain.lstChanged.AddItem "New media inserted in drive " + Chr$(FirstDriveFromMask(DBVol.dbcv_unitmask))
End If
End If
Case DBT_DEVICEREMOVECOMPLETE
'See if a CD-ROM or DVD was removed from a drive.
If DBHdr.dbch_devicetype = DBT_DEVTYP_VOLUME Then
CopyMemory DBVol, ByVal lParam, LenB(DBVol)
If (DBVol.dbcv_flags And DBTF_MEDIA) = DBTF_MEDIA Then
frmMain.lstChanged.AddItem "Media removed from drive " + Chr$(FirstDriveFromMask(DBVol.dbcv_unitmask))
End If
End If
End Select
End Sub