ホームページ > バックエンド開発 > C++ > C# Windows サービスで USB ドライブの挿入と取り外しを検出するにはどうすればよいですか?

C# Windows サービスで USB ドライブの挿入と取り外しを検出するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-14 06:24:43
オリジナル
408 人が閲覧しました

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

C# および Windows サービス: USB ドライブ接続の監視

USB ドライブの挿入と取り外しに基づいてアプリケーションの起動とシャットダウンを自動化することは、分散システムにとって価値があります。 この記事では、C# Windows サービス内でこの機能を実現する効率的な方法について説明します。

C# 実装戦略

堅牢なソリューションは、システム監視とイベント管理のための強力なツールである Windows Management Instrumentation (WMI) を利用します。 WMI では、デバイスの変更に関連するイベントをクエリできます。 簡潔な 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>
ログイン後にコピー

USB の挿入または取り外し時に EventArrived イベント ハンドラーがトリガーされ、イベントと影響を受けるドライブに関する詳細が提供されます。 この WMI アプローチは、サービス コンテキスト内で WndProc を使用するよりもはるかに信頼性が高くなります。

以上がC# Windows サービスで USB ドライブの挿入と取り外しを検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート