VB-Homepage Tipp 112

Nächstes freies Netzlaufwerk ermitteln

Wenn Programme in einem Netzwerk Daten von anderen Servern holen, was ja eines der Vorteile eines Netzwerkes ist und sehr oft vorkommt, dann ist es wichtig zu wissen, welche freien Laufwerke bei dem User zur Verfügung stehen um ihm die Ressourcen zur Verfügung zu stellen. Denn meistens ist es nicht gewollt, das er dieses Laufwerk permanent gemappt hat. ( Das Alphabet ist so kurz :-)
Den ersten Schritt zur Laufwerkszuweisung ist also das Ermitteln des ersten verfügbaren freien Laufwerksbuchstabens und dies soll dieser Tipp abdecken.
Da der Qellcode nicht allzu umfangreich ist, will ich an dieser Stelle nicht das gesamte Projekt abbilden, sondern nur die Vorgehensweise.

1. neues Projekt erstellen und ein Label-Ojekt (Label1) einfügen.

2.
32Bit
Allgemein/Deklarationen folgendes einfügen
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
16Bit
General/Declarations
folgendes einfügen
Declare Function GetDriveType Lib "kernel" (ByVal nDrive As Integer) As Integer

3.
32Bit
Allgemein/Freedrive
folgendes einfügen
(wird durch Einfügen des Codes angelegt)

Function Freedrive()
Dim DriveNum As Integer, FirstFreeDrive As String
Dim FirstDrive As Integer

DriveNum = -1

Do
   DriveNum = DriveNum + 1
   NextDrive$ = Chr$(DriveNum + 65) + ":\"
   FirstDrive% = GetDriveType(NextDrive$)
Loop Until FirstDrive% = 1

FirstFreeDrive = Chr$(DriveNum + 65) + ":"
Freedrive = FirstFreeDrive

End Function

16Bit
General/Freedrive
folgendes einfügen
(wird durch Einfügen des Codes angelegt)

Function Freedrive()
Dim DriveNum As Integer, FirstFreeDrive As String
Dim FirstDrive As Integer

DriveNum = -1

Do
   DriveNum = DriveNum + 1
   FirstDrive% = GetDriveType(DriveNum)
Loop Until FirstDrive% = 0

FirstFreeDrive = Chr$(DriveNum + 65) + ":"
Freedrive = FirstFreeDrive

End Function

4. Entscheiden Sie, ob Sie noch ein Command-Objekt einfügen, dem Sie die folgenden Anweisungen übergeben.
Sie können es aber auch in die Form_Load Aktion einfügen

Label1.Caption = Freedrive()

5. Programm ausführen und im Label-Objekt steht der erste freie Laufwerksbuchstabe.


Tipp-Download

Quelle : MS Knowledge Base

Zurück zur Übersichtsseite