vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Nachträgliche kleine Frage  
Autor: Freggel
Datum: 11.04.07 18:08

Hi mikeb69,

naja, an sowas habe ich auch schon gedacht, allerdings habe ich einen Artikel gefungen ( wenn ich mich nicht irre ), der beschreibt, das lParam das Laufwerk und sogar das Medium was verwendet wird zurück gibt.
Das mit der Rückgabe des Laufwerkes funzt schon mal ganz gut. Ich muss nur noch heraus finden wie das mit den Medien funktioniert.
Es kann nur wieder mal eine Frage der Konstanten sein

Hier habe ich den Code den ich gefunden habe:

Private Const WM_DEVICECHANGE As Integer = &H219
           Private Const DBT_DEVICEARRIVAL As Integer = &H8000
           Private Const DBT_DEVICEREMOVECOMPLETE = &H8004
           Private Const DBTF_MEDIA = &H1
           Private Const DBT_DEVTYP_VOLUME As UInteger = &H2
 
Private Structure DEV_BROADCAST_HDR
        Public dbch_size As Int32
        Public dbch_devicetype As Int32
        Public dbch_reserved As Int32
End Structure
 
Private Structure DEV_BROADCAST_VOLUME
        Public dbcv_size As Int32
        Public dbcv_devicetype As Int32
        Public dbcv_reserved As Int32
        Public dbcv_unitmask As Int32
        Public dbcv_flags As Int16
End Structure
 
 
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        Select Case m.WParam.ToInt32
            Case DBT_DEVICEARRIVAL
                Dim b As DEV_BROADCAST_HDR
                b = Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_HDR))
                If b.dbch_devicetype = DBT_DEVTYP_VOLUME Then
                    Dim c As DEV_BROADCAST_VOLUME
                    c = Marshal.PtrToStructure(m.LParam, GetType( _
                      DEV_BROADCAST_VOLUME))
                    If c.dbcv_flags And DBTF_MEDIA Then
                        ListBox1.Items.Add("Drive " + FirstDriveFromMask( _
                          c.dbcv_unitmask) + ": arrived")
                    End If
                End If
            Case DBT_DEVICEREMOVECOMPLETE
                Dim b As DEV_BROADCAST_HDR
                b = Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_HDR))
                If b.dbch_devicetype = DBT_DEVTYP_VOLUME Then
                    Dim c As DEV_BROADCAST_VOLUME
                    c = Marshal.PtrToStructure(m.LParam, GetType( _
                      DEV_BROADCAST_VOLUME))
                    If c.dbcv_flags And DBTF_MEDIA Then
                        ListBox1.Items.Add("Drive " + FirstDriveFromMask( _
                          c.dbcv_unitmask) + ": goes")
                    End If
                End If
        End Select
        MyBase.WndProc(m)
End Sub
 
Protected Function FirstDriveFromMask(ByVal Unit As Int32) As Char
        Dim Ix As Integer
        For Ix = 1 To 24
            If Unit And Ix Then Exit For
            Unit = Unit >> 1
        Next
        Return Chr(Ix + Asc("A"))
End Function
Gruß Freggel
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Prüfen ob Laufwerk Schublade geschlossen wurde 2.175Freggel31.03.07 21:36
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.816GPM02.04.07 15:23
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.756Freggel06.04.07 14:35
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.749Freggel06.04.07 16:11
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.768GPM06.04.07 17:00
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.772Freggel06.04.07 17:31
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.834GPM06.04.07 18:02
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.684Freggel06.04.07 18:09
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.740thE_iNviNciblE13.04.07 12:17
Re: Prüfen ob Laufwerk Schublade geschlossen wurde 1.705thE_iNviNciblE13.04.07 12:58
Nachträgliche kleine Frage 1.818Freggel11.04.07 16:43
Re: Nachträgliche kleine Frage 1.669mikeb6911.04.07 17:26
Re: Nachträgliche kleine Frage 1.763Freggel11.04.07 18:08
Re: Nachträgliche kleine Frage 1.779mikeb6911.04.07 18:25
Re: Nachträgliche kleine Frage 1.677Freggel11.04.07 19:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel