Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: GetDriveType???????????????? Добавлено: 31.01.03 01:29  

Автор вопроса:  AGR

u emnja takaja problema pomogite kto mozet plz pi6u ja programu dla diska nu tipo vstovljaje6 disk v cd-rom nu i zagruzaetsja moja proga v kotoroj ssilki na drugie progi nahodja6iesja na etom diske!!! nu eto vigljadit tak:

If Option1.Value = True Then

Shell "c:\WINDOWS\Рабочий стол\software\auxsetup", vbNormalFocus

End If

'nu i td koro4e

no problema v tom 4to koogda ja zapi6u na cd on budet ne c (a "d" "e" "f" i td) kak sedlatj 4tob opredelalo cd-rom kakoj bukvoj i podstavljalo tuda etu bukvu?????????

na6el ja API funkciju no 4o to u menja ne puilu4aetsja ni4ego!!

Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _

(ByVal nDrive As String) As Long

Const DRIVE_CDROM = 5

pomogite plz o4enj nuzno!!!!!!!!!!!!!!!!!!

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 AGR



Вопросов: 2
Ответов: 7
 Профиль | | #1 Добавлено: 31.01.03 12:32

Что никто неможет ответить?

Ответить

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



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

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 31.01.03 22:04

Это в модуль:

Option Explicit

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

Это в форму:

Private Sub Form_Load()
Dim drvInfo() As DriveInfo

    GetDrives drvInfo
End Sub

 

Теперь drvInfo содержит все твои диски и их тип. Посмотри эту переменную в Watch Window. Удачи .

Ответить

Номер ответа: 3
Автор ответа:
 AGR



Вопросов: 2
Ответов: 7
 Профиль | | #3 Добавлено: 07.02.03 17:09

hmm 4o to u emnja ne polu4aetsja!!vstavil ja eto v modulj i v form_load vstavil no kak sdelatj 4tob bukva podstovljalasj vmesto c: ta kotoraja nuzna 4o to ja ne ponjal nemnogo :((( daz ne nemnogo ja nehrena ne ponjal

If Option1.Value = True Then

Shell "c:\WINDOWS\Рабочий стол\software\auxsetup", vbNormalFocus

End If

Ответить

Номер ответа: 4
Автор ответа:
 Лёха



Вопросов: 18
Ответов: 34
 Web-сайт: www.arhninja.narod.ru
 Профиль | | #4
Добавлено: 09.02.03 14:35

Попробуй переделать этот код:

Const DRIVE_REMOVABLE = 2
Const DRIVE_FIXED = 3
Const DRIVE_REMOTE = 4
Const DRIVE_CDROM = 5
Const DRIVE_RAMDISK = 6
Private Declare Function GetDriveType _
Lib "kernel32" Alias "GetDriveTypeA" ( _
    ByVal nDrive As String _
) As Long

Private Sub Form_Click()
    Dim i As Integer, lngDrive As Long, strD As String
    For i = 1 To 26
        strD = Chr(i + 64) & ":\"
        lngDrive = GetDriveType(strD)
        Select Case lngDrive
        Case DRIVE_REMOVABLE
            Print "Drive " & strD & " is removable."
        Case DRIVE_FIXED
            Print "Drive " & strD & " is fixed."
        Case DRIVE_REMOTE
            Print "Drive " & strD & " is remote."
        Case DRIVE_CDROM
            Print "Drive " & strD & " is Cd-Rom."
        Case DRIVE_RAMDISK
            Print "Drive " & strD & " is RAM disk."
        Case Else
        End Select
    Next i
End Sub

Ответить

Номер ответа: 5
Автор ответа:
 AGR



Вопросов: 2
Ответов: 7
 Профиль | | #5 Добавлено: 10.02.03 00:27

hmmm

For i = 1 To 26

strD = Chr(i + 64) & ":\"

lngDrive = GetDriveType(strD)

Select Case lngDrive

Case DRIVE_REMOVABLE

Print "Drive " & strD & " is removable."

Case DRIVE_FIXED

Print "Drive " & strD & " is fixed."

Case DRIVE_REMOTE

Print "Drive " & strD & " is remote."

Case DRIVE_CDROM

Print "Drive " & strD & " is Cd-Rom."

Case DRIVE_RAMDISK

Print "Drive " & strD & " is RAM disk."

Case Else

End Select

Next i

delaju posle etogo nu proverjaju msgbox strD i tama pi6et z:/ :))) a u menja sovsem ne z a c: !! i es4o voprosik nu vot etot kod eslib naprimer i da val on pravilnuju bukvu kak mne postavitj nado tak?:

Shell "strD WINDOWS\Рабочий стол\software\auxsetup", vbNormalFocus

ili kak to podrugomu??

Ответить

Номер ответа: 6
Автор ответа:
 Лёха



Вопросов: 18
Ответов: 34
 Web-сайт: www.arhninja.narod.ru
 Профиль | | #6
Добавлено: 10.02.03 18:18

For i = 1 To 26

strD = Chr(i + 64) & ":\"

lngDrive = GetDriveType(strD)

If lngDrive = DRIVE_CDROM then Shell strD & "WINDOWS\Рабочий стол\software\auxsetup", vbNormalFocus

Next i

:susel:

Ответить

Номер ответа: 7
Автор ответа:
 AGR



Вопросов: 2
Ответов: 7
 Профиль | | #7 Добавлено: 11.02.03 00:03

4o to u emnja ne rabotaet neho4et :((( esli mozete pri6lite mne ishodnik esli ne tjazelo!!! ili mozet kka ozno bez api f-ij! s if..else???????

Ответить

Страница: 1 |

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



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