資源簡介
使用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個文件信息
評論
共有 條評論