Страница: 1 |
А autorun.inf не пробовал ? Вот посмотри: Public Type DriveInfo Public Const DRIVE_REMOVABLE = 2 Public Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Sub GetDrives(drvInfo() As DriveInfo) Через FSO Страница: 1 |
Вопрос: CD-ROM
Добавлено: 27.06.02 17:24
Автор вопроса: DeXTeR
Как в VB определить букву дисковода CD-ROM и автоматически подставить её для запуска программы с CD? Например на диске в папке "1" лежит файл "setup.exe". После определения буквы он должен запуститься ("<Буква>:\1\Setup.exe") Поможите кто чем может, плииииз!!!
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #1
Добавлено: 27.06.02 17:44
Номер ответа: 2
Автор ответа:
DeXTeR
Вопросов: 32
Ответов: 30
Профиль | | #2
Добавлено: 27.06.02 18:33
Я хочу создать своё мультимедийное меню из-под которого можно ставить проги
Номер ответа: 3
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #3
Добавлено: 27.06.02 21:55
GetDrives возвратит (неудобно что это в виде процедуры, а не функции - извини такой был раньше у меня проект) все доступные диски системы и их тип. Анализируй эту информацию и выбирай себе CD-ROM, их, кстати, может быть несколько (тут придется попотеть как выбрать нужный).
strDrive As String
strType As String
End Type
Public Const DRIVE_FIXED = 3
Public Const DRIVE_REMOTE = 4
Public Const DRIVE_CDROM = 5
Public Const DRIVE_RAMDISK = 6
Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Dim strDrives As String * 255
Dim strDriveLetter As String
Dim lngDriveType As String
Dim lngStrLen As Long
Dim lngFound As Long
Dim lngPos As Long
Dim i As Integer
Dim h As Long
lngStrLen = GetLogicalDriveStrings(254, strDrives)
strDrives = Left(strDrives, lngStrLen)
lngFound = InStr(strDrives, vbNullChar)
Do
strDriveLetter = Mid(strDrives, lngPos + 1, lngFound - lngPos - 1)
If strDriveLetter <> "" Then
lngPos = lngFound
ReDim Preserve drvInfo(i)
drvInfo(UBound(drvInfo)).strDrive = strDriveLetter
'прочитать информацию о дисках
drvInfo(i).strDrive = strDriveLetter
'тип диска
lngDriveType = GetDriveType(strDriveLetter)
Select Case lngDriveType
Case DRIVE_REMOVABLE
drvInfo(i).strType = "Гибкий диск"
Case DRIVE_FIXED
drvInfo(i).strType = "Локальный диск"
Case DRIVE_RAMDISK
drvInfo(i).strType = "Электронный диск"
Case DRIVE_CDROM
drvInfo(i).strType = "Компакт-диск"
End Select
lngFound = InStr(lngFound + 1, strDrives, vbNullChar)
Else
lngFound = 0
End If
i = i + 1
Loop Until lngFound = 0
End Sub
Используй так:
Dim v() As DriveInfo
GetDrives v()
Номер ответа: 4
Автор ответа:
Keith Flint
Вопросов: 29
Ответов: 74
Web-сайт:
Профиль | | #4
Добавлено: 06.07.02 22:14