用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 ”等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询