求助啊!在C#中怎麼抓USB的數據啊

ywk07raul 2007-05-05 11:05:36
我現在用了System.IO不行啊,有什麼其它的辦法可以解決,請賜教
...全文
554 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyongqiangslw 2012-09-21
  • 打赏
  • 举报
回复
求源代码!
haoxiaoqiang 2008-02-27
  • 打赏
  • 举报
回复
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 interface 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已被拔出");
}
}
}
}

wt3056 2007-05-05
  • 打赏
  • 举报
回复
当把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);
}
ywk07raul 2007-05-05
  • 打赏
  • 举报
回复
求助啊!
ywk07raul 2007-05-05
  • 打赏
  • 举报
回复
對的,就是要USB扫描仪扫描时的数据弄到数据库里去
我現在找到了imgadmin.OCX、imgedit.OCX、imgscan.OCX隻是這個不能注冊,晚上再下一組試試
搞這個已經有一天多的時間了,還沒搞好,課長已經過問幾次了!今晚要加班幹掉他。
sean840610 2007-05-05
  • 打赏
  • 举报
回复
LZ要把USB扫描仪扫描时的数据弄到数据库里去,是这个意思吧?
扫描仪应该有驱动的,通过调用扫描仪的驱动里的API尝试一下
jlzan1314 2007-05-05
  • 打赏
  • 举报
回复
up
wt3056 2007-05-05
  • 打赏
  • 举报
回复
我给的方法是能识别到机器已经参入了U盘
你要做的就是得到该盘的盘符
然后读取盘符下的文件,再存入数据库
应该不复杂的吧~
ywk07raul 2007-05-05
  • 打赏
  • 举报
回复
呵呵,謝謝xiaoku(野蛮人(^v^))
可能是我沒講清楚吧

我是要把聯在USB上的掃描儀裡掃出來的數據直接存到數據庫中

是這個意思
xiaoku 2007-05-05
  • 打赏
  • 举报
回复
说个思路:不知道能不能行得通?假设你是要读取 图片文件

在打开对话框中指定u盘路径,然后把这个路径的文件加载到img 中,然后在保存到数据库中?
不知道我说的是不是你要的结果?
ywk07raul 2007-05-05
  • 打赏
  • 举报
回复
不行,這個沒辦法達到我要的效果。
鬱悶中!
ywk07raul 2007-05-05
  • 打赏
  • 举报
回复
謝謝wt3056(「马儿.快爬!)

我改下程序。我是要從掃描儀裡把數據搞出來存進數據庫

改下不知道能不能抓到數據

110,557

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧