解决方案 »
- 程序运行问题。。。。。救命啊。。。
- MFC和dotnet反射机制对比
- 求问正则表达式的问题. 大家帮帮我.
- 并非所有代码路径都返回值——关于把数组作为返回值传递的问题
- 超难问题:( 如何基于浏览器获取网站页面内容,非高手莫进!
- SQL中多行数据,按照相同列,组合成一条数据
- Windows开始菜单点关机选项后,如何增加一项“1分钟后关机”?
- 求Data Access Application Block中文电子文档
- 英文版数据库存入中文乱码问题
- c# 调用using System.Speech.Synthesis语音发音无声音
- 请教一个datagridview里的combobox列的选择值获取的问题。。
- 用winfrom做一个语音识别,识别后将识别的东西放入文本框中,求实例一个谢谢,可以发到qq邮箱[email protected]
只是注册表里的项。
如果只用c#而不依赖第三方的dll.没有办法做出来的。
.net根本没有提供这个功能。
就算是u盘现在也分为很多种的。现在U盘的芯片组好象就是那十来家。把各家的规范找来可能会有助于你做这个东东。
楼主用这个WMI也可以做。不过做出来的东西是不准确的。
在检测到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);
}