//访问非托管的类
using System.Runtime.InteropServices;
//来查询是否有光盘和读取卷标之类的东西
using System.IO;
[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)
{
// 发生设备变动
const int WM_DEVICECHANGE = 0x0219;
// 系统检测到一个新设备
const int DBT_DEVICEARRIVAL = 0x8000;
// 系统完成移除一个设备
const int DBT_DEVICEREMOVECOMPLETE = 0x8001;
// 逻辑卷标
const int DBT_DEVTYP_VOLUME = 0x00000002;
switch (m.Msg)
{
case WM_DEVICECHANGE:
switch (m.WParam.ToInt32())
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载