滚动的钢铁,自由的风景—自行车旅行
学习取经
教学相关
网页制作
ASP.NET技术
Ajax、XMLhttp
Javascript
VB技术
其它技术
C#技术
公告栏
QQ:27134474
最新评论
越是荒凉,生命越有活力。...
d4
我看见了 也很亲切仿佛回...
晕那不知名的的小花叫胡麻
继续啊 !
我也好想什么时候骑回遂宁...
886
有空去看看
很状观
挺有意死的!
30天内热门
所有热门
打开网上邻居慢的解决办法(6224)
声音的采集与加工(2)(5592)
声音的采集与加工(1)(5433)
十.一粤北骑行,南雄:三影塔,珠玑古巷,梅岭古道,粤赣边界(5218)
流浪:从南海到北海,面朝大海,春暖花开。Day7,一个人的涠洲岛(4540)
和机器人Alice网上聊天(4420)
1000以内的勾股数的算法流程图描述(4253)
2.14,五指山—三亚,到中点了(3971)
8.10通麦-鲁朗:石锅鸡,真好吃(3739)
流浪:从南海到北海,面朝大海,春暖花开。Day1,广州—开平:114km(3609)
23天的单车旅行,从广州到四川,息烽集中营,韩国人,乌江,遵义(3468)
与客家土楼的约会(增城-河源)(3297)
三维动画的制作—Cool3D(3250)
卫星俯瞰石门中学(3203)
主页大巴增加了文章评论和文章点击数功能(3050)
友情链接
C#中USB存储设备的卸载
该程序是根据http://www.codeproject.com/useritems/usbeject.asp得来的。需要在里面注册才能获得源程序,不过我下载了。
这是源程序/HomePage/UploadFile/Tmouse3/Program/usbeject_src.zip
 你可以从这里下载那个Library库,添加到你的项目中/HomePage/UploadFile/Tmouse3/Program/Library.rar
引用名称空间 using UsbEject.Library;
 
然后再你程序中需要的地方添加如下程序:
 
            //卸载USB
            VolumeDeviceClass volumeDeviceClass = new VolumeDeviceClass();
            foreach (Volume device in volumeDeviceClass.Devices)
            {
                // is this volume on USB disks?
                if (!device.IsUsb)
                    continue;
                // is this volume a logical disk?
                if ((device.LogicalDrive == null) || (device.LogicalDrive.Length == 0))
                    continue;
                device.Eject(true); // allow Windows to display any relevant UI
            }
发表于:2007-3-17 19:16:10 | 作者:方枪枪 | 阅读:(2249) | 回复:(3)
C#的USB移动存储设备枚举
 提示:需要在重载WndProc函数,在消息中捕获处理。

       protected override void WndProc(ref Message sysm)
        {
            const int WM_DEVICECHANGE = 0x219;
            const int DBT_DEVICEARRIVAL = 0x8000;
             try
            {
                if (sysm.Msg == WM_DEVICECHANGE)
                {
                    if (sysm.WParam.ToInt32() == DBT_DEVICEARRIVAL)
                    {
                        string[] dirs = Environment.GetLogicalDrives(); //取得所有的盘符
                        foreach (string dir in dirs)
                        {
                            if (GetDriveType(dir) == 2 || GetDriveType(dir) == 3) //是移动硬盘
                            {
                                try
                                {
                                    MessageBox.Show("ok");
                                }
                                catch {
                                    MessageBox.Show("error");
                                }

                            }
                        }

                    }

                }

            }
            catch
            { }
            base.WndProc(ref    sysm);
      }
发表于:2007-3-17 17:15:12 | 作者:方枪枪 | 阅读:(1915) | 回复:(1)