Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Onko CD asemassa

(nimetön) [28.04.2002 11:14:10]

#

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

Antti Laaksonen [29.04.2002 22:27:01]

#

Näyttää toimivan hyvin, mutta mitenköhän saisi selville, mikä CD-aseman tunnus on?

StiNgeR [13.05.2002 10:39:46]

#

Teet luupin, joka käy läpi kaikki CD-aseman tunnukset (eli kirjaimet A..Z)

Jorgga [28.07.2006 12:59:27]

#

saisko tolla jotenkin väitettyy koneelle että cd on asemassa vaik se olis tyhjä? :D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta