[C#] 纯文本查看 复制代码
protected override void WndProc(ref Message m)//监视Windows消息
{
const int WM_DEVICECHANGE = 0x219;
const int WM_DEVICEARRVIAL = 0x8000;//如果m.Msg的值为0x8000那么表示有U盘插入
const int WM_DEVICEMOVECOMPLETE = 0x8004;
switch (m.Msg)
{
case WM_DEVICECHANGE:
{
ShowDeviceChanged("WM_DEVICECHANGE");
if (m.WParam.ToInt32() == WM_DEVICEARRVIAL)
{
DriveInfo[] s = DriveInfo.GetDrives();
foreach (DriveInfo t in s)
{
if (t.DriveType == DriveType.Removable)
{
richTextBox.AppendText("U盘插入,盘符为:" + t.Name + "\r\n");
EjectUsb(t.Name);//强制移除
Remove();//强制移除
break;
}
}
ShowDeviceChanged("WM_DEVICEARRVIAL");
return;
}
else if (m.WParam.ToInt32() == WM_DEVICEMOVECOMPLETE)
{
ShowDeviceChanged("WM_DEVICEMOVECOMPLETE");
return;
}
}
break;
}
base.WndProc(ref m); //将系统消息传递自父类的WndProc
}