用c#编写一个程序,实现是否插入U盘操作?
2个回答
展开全部
不明白你想要什么效果,”是否插入U盘操作“是什么意思?检测U盘插入?
如果想检测U盘插入,可以重载窗口过程的回调函数WndProc,检测WM_DEVICECHANGE消息。
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_DEVICECHANGE)
{
switch (m.WParam.ToInt32())
{
case WM_DEVICECHANGE:
break;
case DBT_DEVICEARRIVAL:
MessageBox.Show(“U盘插入”);
break;
case DBT_DEVICEREMOVECOMPLETE:
MessageBox.Show(“U盘移除”);
break;
}
}
base.WndProc(ref m); //其余的消息我们没有兴趣,由默认的过程处理。
}
如果想检测U盘插入,可以重载窗口过程的回调函数WndProc,检测WM_DEVICECHANGE消息。
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_DEVICECHANGE)
{
switch (m.WParam.ToInt32())
{
case WM_DEVICECHANGE:
break;
case DBT_DEVICEARRIVAL:
MessageBox.Show(“U盘插入”);
break;
case DBT_DEVICEREMOVECOMPLETE:
MessageBox.Show(“U盘移除”);
break;
}
}
base.WndProc(ref m); //其余的消息我们没有兴趣,由默认的过程处理。
}
追问
如果是winform程序,页面加载如何检测是否已插入U盘啊
追答
你在Form_load事件中读取所有磁盘信息,然后区别一下就行啊。
方法有很多,比如用.net的自带基类DriveInfo来获取, DriveInfo.GetDrives()取所有盘,然后用drive.DriveType判断是不是可移动设备。
也可以用win32 API里的GetVolumeInformation();
还可以用WMI来检测,“select DriveType,Name from win32_logicaldisk ”等。
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
不一定,ARM架构的嵌入式开发可以基于uc/os、Linux、Windows等操作系统,而不一定要使用LINUX操作系统。在ARM架构上,Windows和Linux都是可以使用的,而且许多嵌入式系统开发工具也都是支持这两种操作系统的。因此,...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询