1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:

Wie kann man unter Windows mittels API ein virtuelles Laufwerk erstellen? 

Public Declare Function DefineDosDevice Lib "kernel32.dll" Alias _
       "DefineDosDeviceA" (ByVal dwFlags As Long, _
       ByVal lpDeviceName As String, _
       Optional ByVal lpTargetPath As String = vbNullString) As Long
       
Public Enum DefintionTyp
    Create_LW = &H0
    Remove_LW = &H2
End Enum

Public Function Virtuelles_LW(lngLW_Typ As DefintionTyp, sNewLW As String, _
                Optional sTargetPath As String = vbNullString) As Integer
'---------------------------------------------------------------------------------------
' Procedure : Virtuelles_LW
' DateTime  : 29.01.2007 15:14
' Author    : TommyK
'---------------------------------------------------------------------------------------
    Dim iResult As Integer
    On Error GoTo Virtuelles_LW_Error
    If Right(sTargetPath, 1) <> "" Then sTargetPath = sTargetPath & ""
    iResult = DefineDosDevice(lngLW_Typ, sNewLW, sTargetPath)
    Virtuelles_LW = iResult
    On Error GoTo 0
    Exit Function
Virtuelles_LW_Error:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & "Description: " & Err.Description
    MsgBox strErrString, vbCritical + vbOKOnly, "Error in Function Virtuelles_LW"
End Function
Die Funktion hat 3 Parameter
1. lngLW_Typ
Durch die Enum-Auflistung definiert
Create_LW=LW erstellen
Remove_LW=LW löschen

2. sNewLW
Der LW-Buchstabe der erstellt bzw. gelöscht werden soll

3. sTargetPath
optionaler Parameter
Bei der Erstellung wird der Pfad angegeben der den neuen LW-Buchstaben darstellen soll.
Bei Löschung eines LW bleibt der Parameter leer.

Eine Löschung ist nicht unbedingt erforderlich, da das LW nach einem Neustart
automatisch gelöscht sind.

Die Funktion gibt einen Wert zurück der aussagt ob die Operation gelungen ist oder nicht.

0=LW konnte nicht erstellt werden
1=LW ohne Fehler erstellt
Aufruf:
Für das Verzeichnis "D:\users\h3wnjtyv\Test" soll das neue LW "G:" erstellt werden.
If Virtuelles_LW(Create_LW, "G:", "D:\users\h3wnjtyv\Test") = 1 Then
   MsgBox "LW wurde erstellt!", vbInformation + vbOKOnly, "Erfolg"
Else
   MsgBox "LW konnte nicht erstellt werden!", vbCritical + vbOKOnly, "Fehler!"
End If 

Um das LW zu löschen:

If Virtuelles_LW(Remove_LW, "G:") = 1 Then
    MsgBox "LW wurde gelöscht!", vbInformation + vbOKOnly, "Erfolg"
Else
    MsgBox "LW konnte nicht gelöscht werden!", vbCritical + vbOKOnly, "Fehler!"
End If

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool "SmartTools SQL aus Abfragen 3.0"...
1.png3.png3.png9.png7.png1.png1.png
Heute151
Gestern165
Diese Woche316
Dieser Monat316
Total1339711

  • IP: 18.210.12.229
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

5
Online

02. März 2021

Letzte Kommentare

  • Berechnen von Zeiträumen als Abfragekriterium

    elmard 02.02.2021 21:02
    1000 Dank
    für diese Datenbankanwendung! Eine sehr gute Umsetzung mit den vielen Möglichkeiten des Datums.

    Weiterlesen...

     
  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...