当前位置:编程学习 > C#/ASP.NET >>

U盘插入后,立即读取U盘序列号时出错

--------------------编程问答-------------------- 哎 我也是这个问题呀 还没好的解决方法 同求高手 --------------------编程问答-------------------- 坐等高手来 --------------------编程问答-------------------- 这些东西都假的。
只是注册表里的项。
如果只用c#而不依赖第三方的dll.没有办法做出来的。
.net根本没有提供这个功能。
就算是u盘现在也分为很多种的。现在U盘的芯片组好象就是那十来家。把各家的规范找来可能会有助于你做这个东东。


楼主用这个WMI也可以做。不过做出来的东西是不准确的。 --------------------编程问答-------------------- 啊 那怎么办呀、 --------------------编程问答-------------------- 1、可以在收到插入U盘的消息时记录下当前的Drive(可以用全局变量来记录,假设名为_currentDrive),同时开启监听线程。

2、在监听线程中透过_currentDrive.IsReady来判断新插入的U盘是否准备就绪。如果准备就绪,就读取所有的U盘列表,并在U盘列表查找_currentDrive.Name中是否存在,存在则进一步获取系列号 --------------------编程问答-------------------- 非常简单 把 USB口 全部封上  内部传输线拔掉 背部 usb 全部捣毁 --------------------编程问答-------------------- 直接 BIOS 里 屏蔽就完事了 ,搞那么复杂。

--------------------编程问答-------------------- 我也遇到过这种问题,最后解决了,你可以试试我的方法:
在检测到U盘插入事件的时候,新开启一个线程用来获取U盘序列号。

  protected override void WndProc(ref Message m)
        {
            try
            {
                if (m.Msg == WM_DEVICECHANGE)
                {
                    switch (m.WParam.ToInt32())
                    {
                        case WM_DEVICECHANGE:
                            break;
                        case DBT_DEVICEARRIVAL://U盘有插入 
                                  System.Threading.Thread myTh1 = new System.Threading.Thread(UisIn);    //U盘序列号获取写在这个UisIn里。
                                myTh1.Start(); 
                            break;
                        case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
                                      System.Threading.Thread myTh2 = new System.Threading.Thread(UisOut);
                                myTh2.Start(); 
                            break;
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            base.WndProc(ref m);
        }

--------------------编程问答-------------------- 高手如云啊,小弟学习了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,