#拔出U盘,偶尔没有提示...#winform#上位机开发
后续功能是建立在拔出U盘后实现的,不知道是怎么回事,大部分测试过程,U盘拔出都是有messagebox提示的,就偶尔一次,没有提示。
if (m.Msg == 0x0014)
return;
try
{
if (m.Msg == 0x219)
{
switch (m.WParam.ToInt32())
{
case 0x8000://U盘插入
DriveInfo[] s = DriveInfo.GetDrives();
foreach (DriveInfo drive in s)
{
if (drive.DriveType == DriveType.Removable)
{
Upath = drive.Name;
DialogResult mm = MessageBox.Show("U盘已插入", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
if (mm == DialogResult.OK)
{
return;
}
break;
}
}
break;
case 0x8004: //U盘卸载
Xiou = 0;
this.m_PanelPlan1.IDSCId = null;
DialogResult n = MessageBox.Show("串口已弹出", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
if (n == DialogResult.OK)
{
return;
}
break;
default:
break;
}
}
}
你这什么API我是没用过
但是MessageBox的结果你为什么要判断一下,你一共只放了一个ok上去,不是ok还能是什么呢
此外,如果你弹出的MessageBox没人去点,那么整个代码就阻塞了,此时拔出U盘程序肯定没响应呀
如果一个信息不是报警级别,那么不要用模态窗体阻止用户操作,这样非常不友好
你应该使用气泡(tooltip)