Часто задаваемые вопросы и ответы по программированию на VB
Последнее обновление: 28.03.03
Q: Как определить есть ли что-то в сидюке (флоппи)
и, если диск вставлен, открыть сидюк?
A (Vasya200):
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private 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
Private Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" _
(ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Const DRIVE_CDROM = 5
Dim strDrive As String
Dim strMessage As String
Dim intCnt As Integer
Private Sub CDInfo()
For intCnt = 65 To 86
strDrive = Chr(intCnt)
Select Case GetDriveType(strDrive + ":\")
Case DRIVE_CDROM
erg& = GetVolumeInformation(strDrive & ":\", VolName$, 127&, VolNumber&, MCM&, FSF&, FSys$, 127&)
If erg& = 0 Then
MsgBox "Сидюк пуст, поэтому всем пока"
Else
MsgBox "В сидюке присутствует диск, поэтому вся информацыя на винчестере будет уничтожена!!!"
Call mciSendString("Set CDAudio Door Open Wait", 0&, 0&, 0&) ' Открыть CD.
End If
End Select
Next intCnt
End Sub
FAQ составлен по материалам Форума на Исходниках.Ру.
Составитель:
Crew
Copyright © 2002 by Sources.ru. All rights
reserved.