Maison > développement back-end > C++ > Comment puis-je détecter l'insertion et la suppression d'une clé USB dans un service Windows C# ?

Comment puis-je détecter l'insertion et la suppression d'une clé USB dans un service Windows C# ?

Linda Hamilton
Libérer: 2025-01-14 06:24:43
original
446 Les gens l'ont consulté

How Can I Detect USB Drive Insertion and Removal in a C# Windows Service?

Services C# et Windows : surveillance des connexions de clé USB

L'automatisation du démarrage et de l'arrêt des applications en fonction de l'insertion et du retrait d'une clé USB est précieuse pour les systèmes distribués. Cet article explore des méthodes efficaces pour réaliser cette fonctionnalité au sein d'un service Windows C#.

Stratégies de mise en œuvre C#

Une solution robuste utilise Windows Management Instrumentation (WMI), un outil puissant pour la surveillance du système et la gestion des événements. WMI permet d'interroger les événements liés aux modifications de périphérique. Un exemple concis de C# WMI :

<code class="language-csharp">using System.Management;

ManagementEventWatcher watcher = new ManagementEventWatcher();
WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2");
watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
watcher.Query = query;
watcher.Start();
watcher.WaitForNextEvent();</code>
Copier après la connexion

Le gestionnaire d'événements EventArrived est déclenché lors de l'insertion ou du retrait d'une clé USB, fournissant des détails sur l'événement et le lecteur concerné. Cette approche WMI est nettement plus fiable que l'utilisation de WndProc dans un contexte de service.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal