vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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: Erkennen, wenn USB-Laufwerk(-Stick) eingesteckt 
Autor: Maywood
Datum: 05.07.07 12:08

Ja, oder man greift auf die WMI zurück. Hier ein Beispiel für die Konsole:
'
' Erstellt mit SharpDevelop.
' Benutzer: maywood
' Datum: 05.07.2007
' Zeit: 11:43
' 
' Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > 
' Standardheader ändern.
'
 
Option Explicit On 
Option Strict On 
 
Imports System.Management
 
Public Class MainClass
 
	Public Shared Function Main() As Integer 
		Console.SetWindowSize (120, 55 )
		Console.SetBufferSize (120, 55)
 
		Dim mc as New MainClass
		mc.LogicalDiskEvent
	End Function
 
	Public Function LogicalDiskEvent() as Integer 
        Dim query As New WqlEventQuery( "__InstanceCreationEvent", _
            						    New TimeSpan(0, 0, 1), _
            							"TargetInstance ISA ""Win32_LogicalDisk""")
        Dim watcher As New ManagementEventWatcher
        watcher.Query = query
        AddHandler watcher.EventArrived, AddressOf HandleEvent
        watcher.Start()
        Console.WriteLine ("Waiting for an event..")
        Console.ReadLine()
        watcher.Stop()
        Return 0
	End Function
 
	Private Function GetPropertyDataCollection(DeviceId as String ) As _
  PropertyDataCollection
		Dim query as ManagementObjectSearcher = new _ 
        ManagementObjectSearcher("Select * FROM Win32_LogicalDisk " + _
          						 "WHERE DeviceId LIKE '" + DeviceId + "'")
        For Each mo As ManagementObject  In query.Get()
        	return mo.Properties
        Next
        Return Nothing
	End Function
 
	Private Sub HandleEvent(ByVal sender As Object, _
        ByVal e As EventArrivedEventArgs)
        Dim Desc as String = cstr(CType(e.NewEvent("TargetInstance"), _ 
		ManagementBaseObject)("Description"))
        Dim DevId as String = cstr(CType(e.NewEvent("TargetInstance"), _ 
		ManagementBaseObject)("DeviceID"))
		Dim MediaType as Integer = Cint(CType(e.NewEvent("TargetInstance"), _ 
		ManagementBaseObject)("MediaType"))
		If Desc.IndexOf ("Wechseldatenträger") > -1 OrElse MediaType = 2 Then
			Console.WriteLine( New String("*"c, 30))
			Console.WriteLine( "Ein Wechseldatenträger wurde eingestöpselt! Device: " + _
  DevId )
			For Each pd As PropertyData In GetPropertyDataCollection(DevId)
				Try
					Console.WriteLine (pd.Name + ": " + Cstr(CType(e.NewEvent( _
  "TargetInstance"), _ 
														ManagementBaseObject)(pd.Name)))
				Catch ex as Exception 
					System.Diagnostics.Debug.WriteLine (ex.tostring())
				End Try
			Next
			Console.WriteLine( new String("*"c, 30))
		End If
    End Sub
 
End Class
(du musst hierfür ein Verweis auf das Assembly System.Management setzen)
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Erkennen, wenn USB-Laufwerk(-Stick) eingesteckt4.201KartoffelKiffer05.07.07 08:50
Re: Erkennen, wenn USB-Laufwerk(-Stick) eingesteckt2.336GPM05.07.07 11:50
Re: Erkennen, wenn USB-Laufwerk(-Stick) eingesteckt2.569Maywood05.07.07 12:08
Re: Erkennen, wenn USB-Laufwerk(-Stick) eingesteckt2.017mikeb6905.07.07 12:40
Re: Erkennen, wenn USB-Laufwerk(-Stick) eingesteckt1.920GPM05.07.07 14:28

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