Tämä jutska katsoo onko CD:tä asemassa, kertoo voluumin + muuta.
Tarvitset Formiin Command Buttonin(Command1). Ja tarvitset myös moduulin.
Moduuli:
Declare Function GetVolumeInformation Lib _ "kernel32" Alias "GetVolumeInformationA" _ (ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Long, _ lpVolumeSerialNumber As Long, _ lpMaximumComponentLength As Long, _ lpFileSystemFlags As Long, _ ByVal lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Long) As Long Declare Function GetDriveType Lib "kernel32" _ Alias "GetDriveTypeA" (ByVal nDrive As String) As Long Public Const DRIVE_CDROM = 5
Form1
Private Sub Command1_Click() Dim VolName As String, FSys As String, erg As Long Dim VolNumber As Long, MCM As Long, FSF As Long Dim Drive As String, DriveType As Long VolName = Space(127) FSys = Space(127) Drive = "F:\" 'Tähän CD aseman polku jutska juttu DriveType& = GetDriveType(Drive$) erg& = GetVolumeInformation(Drive$, VolName$, 127&, _ VolNumber&, MCM&, FSF&, FSys$, 127&) Print "VolumeName:" & vbTab & VolName$ Print "VolumeNumber:" & vbTab & VolNumber& Print "MCM:" & vbTab & vbTab & MCM& Print "FSF:" & vbTab & vbTab & FSF& Print "FileSystem:" & vbTab & FSys$ Print "DriveType:" & vbTab & DriveType&; If DriveType& = DRIVE_CDROM Then Print " (CDROM, "; If erg& = 0 Then Print "Ei CD:tä asemassa)" Else Print "CD on asemassa)" End If Else Print " (Ei CDROMia)" End If End Sub
Näyttää toimivan hyvin, mutta mitenköhän saisi selville, mikä CD-aseman tunnus on?
Teet luupin, joka käy läpi kaikki CD-aseman tunnukset (eli kirjaimet A..Z)
saisko tolla jotenkin väitettyy koneelle että cd on asemassa vaik se olis tyhjä? :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.