资源简介

使用USB HID方式遍历所有usb设备,并以扫描枪为例演示数据接收和发送。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using UsbLibrary;

namespace UsbApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void usb_OnDeviceArrived(object sender EventArgs e)
        {
            this.lb_message.Items.Add(“Found a Device“);
        }
        private void usb_OnDeviceRemoved(object sender EventArgs e)
        {
            if (InvokeRequired)
            {
                Invoke(new EventHandler(usb_OnDeviceRemoved) new object[] { sender e });
            }
            else
            {
                this.lb_message.Items.Add(“Device was removed“);
            }
        }
        private void usb_OnSpecifiedDeviceArrived(object sender EventArgs e)
        {
            this.lb_message.Items.Add(“My device was found“);
            toolStripStatusLabel1.Text = “设备已连接“;
        }
        protected override void OnHandleCreated(EventArgs e)
        {
            base.OnHandleCreated(e);
            usb.RegisterHandle(Handle);
        }
        protected override void WndProc(ref Message m)
        {
            usb.ParseMessages(ref m);
            base.WndProc(ref m); // pass message on to base form
        }
        private void btn_ok_Click(object sender EventArgs e)
        {
            try
            {
                HIDD_VIDPID[] Allvidpid = EZUSB.AllVidPid;  //获取所有usb设备的VID和PID
                foreach (HIDD_VIDPID VidPid in Allvidpid)   //查找符合霍尼韦尔扫描枪VID的设备
                {
                    if(VidPid.VendorID == 0x0C2E)
                    {
                        this.usb.VendorId = VidPid.VendorID;
                        this.usb.ProductId = VidPid.ProductID;
                        this.usb.CheckDevicePresent();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        private void btn_send_Click(object sender EventArgs e)
        {
            if (this.usb.SpecifiedDevice != null)
            {
                byte[] data = Encoding.Default.GetBytes(this.tb_send.Text); //数据格式转换
                this.usb.SpecifiedDevice.SendData(data);                    //发送数据
            }
        }

        private void usb_OnSpecifiedDeviceRemoved(object sender EventArgs e)
        {
            if (InvokeRequired)
            {
                Invoke(new EventHandler(usb_OnSpecifiedDeviceRemoved) new object[] { sender e });
            }
            else
            {
                this.lb_message.Items.Add(“My device was removed“);
            }
        }
        private void usb_OnDataRecieved(object sender DataRecievedEventArgs args)
        {
            if (InvokeReq

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-01-11 18:30  USBComm\
     目录           0  2017-01-11 18:30  USBComm\.vs\
     目录           0  2017-01-11 18:30  USBComm\.vs\UsbApp\
     目录           0  2017-01-11 18:30  USBComm\.vs\UsbApp\v14\
     文件      125952  2017-05-10 11:52  USBComm\.vs\UsbApp\v14\.suo
     目录           0  2017-01-23 19:44  USBComm\UsbApp\
     文件        2548  2016-03-15 15:43  USBComm\UsbApp.sln
     文件       43008  2016-03-23 09:51  USBComm\UsbApp.suo
     目录           0  2017-01-12 12:40  USBComm\UsbApp\bin\
     目录           0  2017-05-10 11:52  USBComm\UsbApp\bin\Debug\
     文件       16896  2017-01-23 19:45  USBComm\UsbApp\bin\Debug\UsbApp.exe
     文件       32256  2017-01-23 19:45  USBComm\UsbApp\bin\Debug\UsbApp.pdb
     文件       22696  2017-05-10 11:52  USBComm\UsbApp\bin\Debug\UsbApp.vshost.exe
     文件       18432  2017-01-23 19:45  USBComm\UsbApp\bin\Debug\UsbLibrary.dll
     文件       44544  2017-01-23 19:45  USBComm\UsbApp\bin\Debug\UsbLibrary.pdb
     目录           0  2017-05-10 11:51  USBComm\UsbApp\bin\Release\
     文件       16384  2017-05-10 11:51  USBComm\UsbApp\bin\Release\UsbApp.exe
     文件       30208  2017-05-10 11:51  USBComm\UsbApp\bin\Release\UsbApp.pdb
     文件       22696  2017-05-10 11:51  USBComm\UsbApp\bin\Release\UsbApp.vshost.exe
     文件         490  2010-03-18 13:39  USBComm\UsbApp\bin\Release\UsbApp.vshost.exe.manifest
     文件       17408  2017-05-10 11:51  USBComm\UsbApp\bin\Release\UsbLibrary.dll
     文件       40448  2017-05-10 11:51  USBComm\UsbApp\bin\Release\UsbLibrary.pdb
     文件        4044  2017-01-23 19:44  USBComm\UsbApp\Form1.cs
     文件       10708  2017-01-23 19:44  USBComm\UsbApp\Form1.Designer.cs
     文件        6381  2017-01-23 19:44  USBComm\UsbApp\Form1.resx
     目录           0  2016-03-15 15:22  USBComm\UsbApp\obj\
     目录           0  2017-01-17 18:20  USBComm\UsbApp\obj\x86\
     目录           0  2017-05-10 11:52  USBComm\UsbApp\obj\x86\Debug\
     文件           0  2017-05-10 11:52  USBComm\UsbApp\obj\x86\Debug\build.force
     文件       23046  2017-01-23 19:45  USBComm\UsbApp\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        7265  2017-01-16 18:12  USBComm\UsbApp\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
............此处省略64个文件信息

评论

共有 条评论