Walle.WinUsb
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Walle.WinUsb --version 1.0.0
NuGet\Install-Package Walle.WinUsb -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Walle.WinUsb" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Walle.WinUsb --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Walle.WinUsb, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Walle.WinUsb as a Cake Addin
#addin nuget:?package=Walle.WinUsb&version=1.0.0
// Install Walle.WinUsb as a Cake Tool
#tool nuget:?package=Walle.WinUsb&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Walle.WinUsb
dotnet add package Walle.WinUsb
WinUsbDeviceWatcher Class
- Provider Usb Insert/Remove Events.
- Include Usb device information such as PID, VID and Path etc.
namespace Walle.WinUsb.Sample
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("WinUsbDeviceWatcher Sample:");
WinUsbDeviceWatcher watcher = new WinUsbDeviceWatcher();
watcher.DeviceConnectEventHandler += Watcher_DeviceConnectEventHandler;
watcher.DeviceDisconnectEventHandler += Watcher_DeviceDisconnectEventHandler;
}
private static void Watcher_DeviceDisconnectEventHandler(object sender, WinUsbDeviceEventArgs e)
{
Console.WriteLine("Detected Usb Device Event: {event} Path:{path},VID:{vid},PID:{pid}", e.EventType, e.Path, e.Vid, e.Vid);
}
private static void Watcher_DeviceConnectEventHandler(object sender, WinUsbDeviceEventArgs e)
{
Console.WriteLine("Detected Usb Device Event: {event}, Path:{path},VID:{vid},PID:{pid}", e.EventType, e.Path, e.Vid, e.Vid);
}
}
}
WinUsbDevice Class
- Get the inserted USB device list.
namespace Walle.WinUsb.Sample
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("WinUsbDevice Sample:");
var pathes = WinUsbDevice.GetAll();
foreach (var path in pathes)
{
Console.WriteLine($"{path}");
}
Console.ReadLine();
}
}
}
WinUsbDevice.GetAll() Result:
\\?\usb#vid_0a12&pid_0001#5&2f03355&0&6#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
\\?\usb#vid_413c&pid_2113#6&1bfb9409&0&4#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
\\?\usb#vid_0b95&pid_772b#596c08#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
\\?\usb#vid_413c&pid_301a#6&1bfb9409&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
- Send
bytes[]
to USB device . scene such as be used in the thermal printer control.
using System.Text;
namespace Walle.WinUsb.Sample
{
internal class Program
{
static void Main(string[] args)
{
//if target usb printer path:
//\\?\usb#vid_413c&pid_2113#6&1bfb9409&0&4#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
var connected = WinUsbDevice.Instance.Open("413c", "2113");
if (connected)
{
var bytes = Encoding.UTF8.GetBytes("hello world");
WinUsbDevice.Instance.Send(bytes);
}
}
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- System.Threading.Tasks (>= 4.0.11)
- Walle.Components (>= 3.0.0.18)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.