C#檢測(cè)是否有u盤插入的方法
本文實(shí)例講述了C#檢測(cè)是否有u盤插入的方法。分享給大家供大家參考。具體如下:
該C#代碼可監(jiān)控是否有u盤插入,同時(shí)可以監(jiān)控其它驅(qū)動(dòng)器的變化
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices
;
namespace WindowsApplication16
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[StructLayout(LayoutKind.Sequential)]
public struct DEV_BROADCAST_VOLUME
{
public int dbcv_size;
public int dbcv_devicetype;
public int dbcv_reserved;
public int dbcv_unitmask;
}
protected override void WndProc(ref Message m)
{
// 發(fā)生設(shè)備變動(dòng)
const int WM_DEVICECHANGE = 0x0219;
// 系統(tǒng)檢測(cè)到一個(gè)新設(shè)備
const int DBT_DEVICEARRIVAL = 0x8000;
// 系統(tǒng)完成移除一個(gè)設(shè)備
const int DBT_DEVICEREMOVECOMPLETE = 0x8001;
// 邏輯卷標(biāo)
const int DBT_DEVTYP_VOLUME = 0x00000002;
switch (m.Msg)
{
case WM_DEVICECHANGE:
switch (m.WParam.ToInt32())
{
case DBT_DEVICEARRIVAL:
int devType = Marshal.ReadInt32(m.LParam, 4);
if (devType == DBT_DEVTYP_VOLUME)
{
DEV_BROADCAST_VOLUME vol;
vol = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(
m.LParam, typeof(DEV_BROADCAST_VOLUME));
MessageBox.Show(vol.dbcv_unitmask.ToString("x"));
}
break;
case DBT_DEVICEREMOVECOMPLETE:
MessageBox.Show("Removal");
break;
}
break;
}
base.WndProc(ref m);
}
}
}
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#面向?qū)ο笤O(shè)計(jì)原則之單一職責(zé)原則
這篇文章介紹了C#面向?qū)ο笤O(shè)計(jì)原則之單一職責(zé)原則,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
C# OpenCvSharp實(shí)現(xiàn)去除文字中的線條
這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)去除文字中的線條效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
C# ThreadPool之QueueUserWorkItem使用案例詳解
這篇文章主要介紹了C# ThreadPool之QueueUserWorkItem使用案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
字符串和十六進(jìn)制之間的轉(zhuǎn)換方法實(shí)例
這篇文章介紹了字符串和十六進(jìn)制之間的轉(zhuǎn)換方法實(shí)例,有需要的朋友可以參考一下2013-11-11
C#框架winform實(shí)現(xiàn)簡(jiǎn)單點(diǎn)餐系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C#框架winform實(shí)現(xiàn)簡(jiǎn)單點(diǎn)餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
C#實(shí)現(xiàn)漢字轉(zhuǎn)拼音或轉(zhuǎn)拼音首字母的方法
這篇文章主要介紹了C#實(shí)現(xiàn)漢字轉(zhuǎn)拼音或轉(zhuǎn)拼音首字母的方法,涉及C#操作數(shù)組、遍歷及正則匹配的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07

