Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: basicproduction.nm.ru
 Профиль | | #1
Добавлено: 27.06.02 17:44

А autorun.inf не пробовал ?

 

Ответить

Номер ответа: 2
Автор ответа:
 DeXTeR



Вопросов: 32
Ответов: 30
 Профиль | | #2 Добавлено: 27.06.02 18:33
Я хочу создать своё мультимедийное меню из-под которого можно ставить проги

Ответить

Номер ответа: 3
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 27.06.02 21:55

Вот посмотри:
GetDrives возвратит (неудобно что это в виде процедуры, а не функции - извини такой был раньше у меня проект) все доступные диски системы и их тип. Анализируй эту информацию и выбирай себе CD-ROM, их, кстати, может быть несколько (тут придется попотеть как выбрать нужный).

Public Type DriveInfo
    strDrive As String
    strType As String
End Type

Public Const DRIVE_REMOVABLE = 2
Public Const DRIVE_FIXED = 3
Public Const DRIVE_REMOTE = 4
Public Const DRIVE_CDROM = 5
Public Const DRIVE_RAMDISK = 6

Public Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Sub GetDrives(drvInfo() As DriveInfo)
    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-сайт: www.flint7.nm.ru
 Профиль | | #4
Добавлено: 06.07.02 22:14

Через FSO

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам