求助啊!在C#中怎麼抓USB的數據啊
我現在用了System.IO不行啊,有什麼其它的辦法可以解決,請賜教 --------------------编程问答-------------------- 当把U盘放插入,然后程序自动将U盘的内容复制到本地硬盘using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace U盘更新
{
public partial class Form1 : Form
{
public const int WM_DEVICECHANGE = 0x219;
public const int DBT_DEVICEARRIVAL = 0x8000;
public const int DBT_CONFIGCHANGECANCELED = 0x0019;
public const int DBT_CONFIGCHANGED = 0x0018;
public const int DBT_CUSTOMEVENT = 0x8006;
public const int DBT_DEVICEQUERYREMOVE = 0x8001;
public const int DBT_DEVICEQUERYREMOVEFAILED = 0x8002;
public const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
public const int DBT_DEVICEREMOVEPENDING = 0x8003;
public const int DBT_DEVICETYPESPECIFIC = 0x8005;
public const int DBT_DEVNODES_CHANGED = 0x0007;
public const int DBT_QUERYCHANGECONFIG = 0x0017;
public const int DBT_USERDEFINED = 0xFFFF;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
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盘插入
DriveInfo[] s = DriveInfo.GetDrives();
foreach (DriveInfo drive in s)
{
if (drive.DriveType == DriveType.Removable)
{
listBox1.Items.Add("U盘已插入,盘符为:" + drive.Name.ToString());
break;
}
}
break;
case DBT_CONFIGCHANGECANCELED:
break;
case DBT_CONFIGCHANGED:
break;
case DBT_CUSTOMEVENT:
break;
case DBT_DEVICEQUERYREMOVE:
break;
case DBT_DEVICEQUERYREMOVEFAILED:
break;
case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
break;
case DBT_DEVICEREMOVEPENDING:
break;
case DBT_DEVICETYPESPECIFIC:
break;
case DBT_DEVNODES_CHANGED:
break;
case DBT_QUERYCHANGECONFIG:
break;
case DBT_USERDEFINED:
break;
default:
break;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
base.WndProc(ref m);
}
--------------------编程问答-------------------- 謝謝wt3056(「马儿.快爬!)
我改下程序。我是要從掃描儀裡把數據搞出來存進數據庫
改下不知道能不能抓到數據
--------------------编程问答-------------------- 不行,這個沒辦法達到我要的效果。
鬱悶中! --------------------编程问答-------------------- 说个思路:不知道能不能行得通?假设你是要读取 图片文件
在打开对话框中指定u盘路径,然后把这个路径的文件加载到img 中,然后在保存到数据库中?
不知道我说的是不是你要的结果? --------------------编程问答-------------------- 呵呵,謝謝xiaoku(野蛮人(^v^))
可能是我沒講清楚吧
我是要把聯在USB上的掃描儀裡掃出來的數據直接存到數據庫中
是這個意思 --------------------编程问答-------------------- 我给的方法是能识别到机器已经参入了U盘
你要做的就是得到该盘的盘符
然后读取盘符下的文件,再存入数据库
应该不复杂的吧~ --------------------编程问答-------------------- up --------------------编程问答-------------------- LZ要把USB扫描仪扫描时的数据弄到数据库里去,是这个意思吧?
扫描仪应该有驱动的,通过调用扫描仪的驱动里的API尝试一下 --------------------编程问答-------------------- 對的,就是要USB扫描仪扫描时的数据弄到数据库里去
我現在找到了imgadmin.OCX、imgedit.OCX、imgscan.OCX隻是這個不能注冊,晚上再下一組試試
搞這個已經有一天多的時間了,還沒搞好,課長已經過問幾次了!今晚要加班幹掉他。 --------------------编程问答-------------------- 求助啊! --------------------编程问答-------------------- namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
USB usb;
usb = new UDisk();//插入U盘
usb.OutputFile();//从U盘读出文件
usb.InputFile();//往U盘写入文件
usb.Dispose();//拔出U盘
Console.WriteLine("");
usb = new MDisk();//插入移动硬盘
usb.OutputFile();//从移动硬盘读出文件
usb.InputFile();//往移动硬盘写入文件
usb.Dispose();//拔出移动硬盘
Console.WriteLine("");
usb = new MP4();//插入MP4
usb.OutputFile();//从MP4读出文件
usb.InputFile();//往MP4写入文件
usb.Dispose();//拔出MP4
Console.ReadKey();
}
//USB接口
public inte易做图ce USB : IDisposable
{
void OutputFile();//读出文件
void InputFile();//写入文件
}
//U盘
public class UDisk : USB
{
public UDisk()
{
Console.WriteLine("U盘准备就绪...");
}
public void OutputFile()
{
Console.WriteLine("从U盘读出文件");
}
public void InputFile()
{
Console.WriteLine("往U盘写入文件");
}
public void Dispose()
{
Console.WriteLine("U盘已被拔出");
}
}
//移动硬盘
public class MDisk : USB
{
public MDisk()
{
Console.WriteLine("移动硬盘准备就绪...");
}
public void OutputFile()
{
Console.WriteLine("从移动硬盘读出文件");
}
public void InputFile()
{
Console.WriteLine("往移动硬盘写入文件");
}
public void Dispose()
{
Console.WriteLine("移动硬盘已被拔出");
}
}
//MP4
public class MP4 : USB
{
public MP4()
{
Console.WriteLine("MP4准备就绪...");
}
public void OutputFile()
{
Console.WriteLine("从MP4读出文件");
}
public void InputFile()
{
Console.WriteLine("往MP4写入文件");
}
public void Dispose()
{
Console.WriteLine("MP4已被拔出");
}
}
}
}
--------------------编程问答-------------------- 求源代码!
补充:.NET技术 , C#