从第二个键盘上重新引导键盘输入
我处于为现有POS程序开发同伴应用程序的初始阶段.基本上,我正在寻找类似功能的引脚垫.我们有一个TARGUS USB数字键盘,希望客户可以输入PIN号码. (这不是用于付款系统,而是客户帐户验证).主POS程序将运行,但是我需要我的应用程序在后台运行并等待输入PIN,然后将其进行身份验证. 可能的解决方案#1: 我从Code Project下载了一个示例项目,该项目通过VID&PID解决了USB HID设备.这将是完美的,但是键盘受到Windows的保护,无法通过这种方式访问​​.有没有一种方法可以"保留" Windows中的键盘,因此它仍然是隐藏的设备,但不被视为键盘? 可能的解决方案#2: 有一些键盘钩的样本,但是这些键盘无法正常工作,因为键盘输出仍将转到POS应用程序.无论哪个程序都有焦点,我都需要键盘输出才能进入我的背景应用程序.有没有办法将输出从特定键盘重定向到特定应用程序? 这将在远程位置将其推广到100+ POS终端,因此不需要重新配置Windows的解决
14 2024-04-26
编程技术问答社区
与Zebra RFID打印机的通信 | C# .NET
我们正在开发一个应用程序,该应用程序使用Zebra RZ400 RFID打印机打印RFID标签.到目前为止,我们正在通过 rawprinterhelper class呼叫winspool.drv. 但是,我们很快意识到并非所有标签都成功地打印出来,因此我们寻找一种方法来获得有关上一次打印操作成功的反馈.有一个命令"^rv",据说可以在反映操作成功结果的打印操作时返回字符串. 现在,问题是我们不知道从打印机获取此反馈数据的方法! RAWPRINTERHELPER类没有获取数据的任何方法. 我将打印机连接到USB,并使用libusbdotnet库与打印机进行通信.我可以成功地将命令发送到打印机,包括"^rv"命令,然后再次从USB读取以获取打印机的反馈.我可以获得反馈值,但不是每次都可以得到一个随机打印大量标签后一次. 是否有斑马与打印机通信的官方SDK? USB沟通有什么问题?请分享您关于斑马.NET开发的经验. 解决方案 有一个官方 java sdk 使用
12 2024-04-26
编程技术问答社区
使用C#的简单USB按钮
我想做一些播放,以读取来自护理的信号.我想做以下操作: 过去,我在一家小型IT公司进行了实习,该公司的LPT电缆损坏,他们将其切开并用两根电缆连接一个按钮,如果按钮为按压. 现在,我想使用损坏的USB电缆执行相同的操作,看看D+和D-是否互相接触,如果是我要我的软件做某事.是否有一个库可以让我检查两个触摸? (现在不要使用5V和GRND或D+和D-),或者不可能使用USB? 解决方案 d+和d-是差异对.您不能只是简短并用PC捕获它. 要实现USB按钮,您需要使用一些微控制器(例如AT90USB162)读取按钮状态,然后将有关按钮状态的数据发送到PC.一种简单的方法是将微控制器配置为虚拟串行端口(参见 lufa project ).这样,您可以从微控制器中读取与实际序列端口相同的方式(请参见 Serialport类).
18 2024-04-26
编程技术问答社区
USB端口的电流值
当我插入设备时,是否可以获取USB端口电流值? 该值应使用C#编程可用.我需要的第二个参数是" USB保存电源模式".该属性的正确名称是"允许计算机关闭此设备以节省电源". 我设法检测到设备(如果连接或断开连接)并正确读取数据. 这两个属性属于USB设备或USB端口? winusb api没有给我明确的答案. 解决方案 您可以使用WMI获取USB端口属性 public class MyClass { public static void Main() { var usbDevices = GetUSBDevices(); foreach (var usbDevice in usbDevices) { Console.WriteLine("Device ID: {0}, PNP Device ID: {1}, Description: {2}",
16 2024-04-26
编程技术问答社区
用.NET进行U盘编程
我正在研究一个项目,我需要访问USB驱动器的某些特定地址(例如扇区0),并更改一些字节.我已经完成了一些C#的部分,其中包括用户界面,检测USB驱动器等.有人可以帮助我提供一些链接,以便我可以使用.NET访问USB驱动器的特定地址? 解决方案 该框架不支持此.如果您尝试在设备上创建文件流,则会引发异常.您将必须直接使用Windows API方法(P/Indoke CreateFile,DeviceIocontrol等).确保您在此处阅读有关物理磁盘和卷的部分:
16 2024-04-26
编程技术问答社区
如何从Usb Token(etoken pro 72 k(Java))读取证书并附加到pdf中?
我想阅读USB令牌Safenet(Alladin Etkoken Pro 72 K(Java))的签名,并附加到PDF.我不知道该怎么做.在先前,他们提供了导出.pfx文件的选项.现在,他们提供了导出.cer文件的选项.当我谷歌搜索时,我会得到此代码.当我运行此代码工作时,会提示输入密码后令牌的密码,我可以验证签名,但我不知道如何将签名附加到PDF上.请指导我是否朝着正确的方向发展.我正在使用C#语言 private void btnGenpdfdigitalSignature_Click(object sender, EventArgs e) { try { // Cert myCert = null; // Sign text byte[] signature = Sign("Test", "Name of the s
10 2024-04-25
编程技术问答社区
与USB设备交谈,反之亦然,从Flex开始。
我的同事在将用户输入flex中进行挑战,并使用该数据在USB设备上执行命令.我们认为我们需要在计算机上运行插座服务器才能做到这一点.我们想用字节数组等发送对象,而不仅仅是字符串. 有什么可以帮助我们的吗?我们是否需要编写自己的套接字服务器,恐怕可能需要一些时间,或者我们可以使用任何现有的远程网关(例如Weborb或Fluorinefx) Windows服务? 解决方案 结帐Merapi(其他解决方案 这里有几个不同的选项: Merapi(用Java编写的本地插座服务器) 从头开始写自己的套接字服务器 写一个Java小程序,并使用外部接口在两个方向上进行交流 我尚未使用#1,但已经听到了关于它的好消息.考虑到#1已经可以使用,#2显然是很多工作.无论哪种方式,最终用户都需要安装可能很麻烦的套接字服务器. 我已经完成了#3,并且实际上在该应用程序中效果很好.就可以发送的数据类型而言,这将在某种程度上限制您.但是,如果小程序被签名/信任,我认为您实
8 2024-04-25
编程技术问答社区
如何使用USB从设备中获取文件
我正在编写一个想要访问数码相机的WPF应用程序,并且已经疯狂地搜索了解决方案,并且对一切都很满意. 这是我目前拥有的: private const decimal WM_DEVICECHANGE = 0x0219; private const int DBT_DEVTYP_HANDLE = 6; private const int DBT_DEVNODES_CHANGED = 7; private const int BROADCAST_QUERY_DENY = 0x424D5144; private const int DBT_DEVICEARRIVAL = 0x8000; // system detected a new device private const int DBT_DEVICEQUERYREMOVE = 0x8001; // Preparing to remove (any program can disa
12 2024-04-25
编程技术问答社区
如何从GSM调制解调器接听电话
我对该区域是相当陌生的,所以看起来很愚蠢,但是我通过USB端口连接到PC的GSM调制解调器.如果有人打电话给该号码,我需要拿起并转移到我的耳机上.是否可以?任何想法. 解决方案 是的,显然它可能在命令上使用 尝试它可以正常工作. 其他解决方案 @arun kumar non ascii提到您可以使用ATA接听电话. 您还可以通过执行+clcc 来知道打电话给您的人数(即呼叫者ID) 您还可以将调制解调器设置为使用ATS0=自动接听电话,其中是您调制解调器应自动接听电话的戒指数.
14 2024-04-23
编程技术问答社区
WriteFile返回错误代码87
我正在处理一个正在写入HID设备的程序,并在WriteFile函数上获取错误87,无效参数.我从Jan Axelson的USB完成了功能,因此我不确定为什么会遇到错误. 我正在使用它来查找我的设备: private void USBInit() { IntPtr deviceInfoSet; Int32 memberIndex = 0; SP_DEVICE_INTERFACE_DATA MyDeviceInterfaceData = new SP_DEVICE_INTERFACE_DATA(); Int32 bufferSize = 0; IntPtr detailDataBuffer; Boolean success = false; deviceFound = false; HidD_GetHidGuid(ref hidGuid);
24 2024-04-23
编程技术问答社区
通过USB与电脑通信
如何在WP8应用程序和在PC上运行的桌面Windows应用程序之间的数据交换,该应用程序与电话连接了USB电缆?在WP7上,USB连接上有TCP/IP网络.在WP8上,似乎不再有效. 在设备侧,NetworkInterFacelist类列出了以太网适配器,但是网络信息.GethostNames方法说,该NIC没有分配IP地址.有没有办法将IP地址分配给该NIC,并将其用于通过USB电缆进行电话到PC通信? 在PC侧,看起来像连接性DLLS实现智能设备连接API.我在哪里可以找到Microsoft.smartdevice.deviceagenttransport.dll的Windows Phone 8平台? 还有其他选项吗? P.S.我没有向市场提交任何东西,所以私人或无证件的API对我来说是可以的. 解决方案 我只是自己寻找这个,并在MSDN找到了一个很好的资源 ip ausb ip .只要您安装了Windows Phone SDK,就可以使用所有内容.
14 2024-04-23
编程技术问答社区
如何使用VID和C#中的PID找到USB质量存储驱动器的驱动器字母?
我们设计 usb msd 产品,因为我们需要编写 c#应用程序,该应用程序将对存储的文件进行一些处理内存. 任何人都可以建议我,如何检测 usb 设备是否具有 特别 vid+pid 连接到计算机,如果是,什么是 驱动字母(或根驱动路径)? 我能够找到示例来检测是否存在特定的( vid+pid ) USB 设备. 还可以找到示例程序来检测可用的可移动驱动器,什么是路径...等. 在 c#中是否有任何示例程序? 感谢您的支持. 解决方案 我要建议在设置周围使用包装纸,但是看来别人已经整理了一个非常好的答案. devcon.exe(driver tool)和OpenVPN
10 2024-04-23
编程技术问答社区
c#.NET USB设备的持久性标识符
我正在寻找C#中的一种方法,可以使用USB插槽的标识符(跨用户拔下枢纽/重新启动其计算机),更具体地说是SD卡读取器.驱动器字母并不总是分配给同一插槽,但是我需要一种方法来识别插槽.因为一旦我可以识别它,我就可以与驱动器字母建立连接. 所以我的问题: 这是可能的吗? 如果是这样,我将如何获得这些标识符? 解决方案 WMI类Win32_USBHUB. ManagementObjectSearcher sidQuery = new ManagementObjectSearcher("Select * From Win32_USBHub"); ManagementObjectCollection results = sidQuery.Get(); List deviceID = new List(); foreach (ManagementObject result in results) { deviceID.Add(resu
12 2024-04-23
编程技术问答社区
在C#中检测Arduino端口
我正在尝试打开每个端口并串行发送,我的微控制器将响应\n之后,C#代码必须退出每个循环. 我在serialPort.PortName = str;线上有问题.两次迭代后,它不会继续进行. 我也尝试手动执行此操作.我下拉下来,选择一个端口.在第二个端口之后,它不允许更改串行端口.但是,如果我在两次尝试中进行选择,它可以正常工作. 我知道C ++中的OOP.但是我是C#的新手.我不确定循环为什么失败. public Form1() { InitializeComponent(); send_button.Enabled = false; //Availabe COM ports SerialPort tmp; foreach(string str in SerialPort.GetPortNames()) { tmp = new SerialPort(str);
10 2024-04-23
编程技术问答社区
以HID方式连接数字秤(梅特勒-托利多PS90),只有当电缆首次连接到计算机时,才会运行OnReport。
我正在使用 Mike O Brien的Hid库连接到数字规模, 设备成功打开,然后完美地显示附加和删除消息的设备.但最初只能在股票上进行大约20次 在Reeport上运行大约20个之后,它将再也不会运行,除非我卸下USB电缆并重新连接. . 我的代码在 下面 if (scale.IsConnected) { scale.Inserted += DeviceAttachedHandler; scale.Removed += DeviceRemovedHandler; scale.MonitorDeviceEvents = true; scale.ReadReport(OnReport); MessageBox.Show("Hold Application Here"); 规模的事件处理程序 private void DeviceAttachedHandler() {
16 2024-04-23
编程技术问答社区
读取从PC上收到的安卓手机的数据
我需要实施解决方案,以通过USB电缆连接到PC的Android设备读取数据.即连接到PC的电话将通过NFC通过另一个Android设备接收数据,其中PC - C#必须如下所示,从插入的Android Phone 中读取接收到的数据. [PC]
12 2024-04-23
编程技术问答社区
用c#程序为Cannon EOS Rebel XS创建一个usb延时器
我想知道这是否有可能.我想制作自己的软件来通过远程快门发布来控制快门的发布.从我看到的图表中,它具有3.3 V(无负载)和1.8V的阈值电压.我想知道是否可以使用限制USB电缆电压,如果我正确理解,该电压约为5.25V.这是甚至可能的,还是我需要朝着新的方向看.我希望在我相当有信心的C#中编写该软件. 谢谢您的帮助:) 解决方案 对于Sony Alpha和DSLR的佳能系列,我已经玩了很多类型的快门遥控器.对于大炮,通常是2.5毫米立体声插头.它具有3个联系人:地面,聚焦和快门.缩短它们中的每一个,您将在相机中触发该功能. > 几年前,我设计了自己的电路,该电路将从主机中获取串行命令(在我的情况下,是HP Pocket PC),并使用微控制器GPIO端口向下驱动一条线. 如今,有类似的设备具有更容易的连接和控制选项.而且,如果您想沿着DIY道路,有很好的选择,例如Arduinos,或者您是C#瘾君子,有Netduinos. 这是一个可商购的解决方案,包括
10 2024-04-23
编程技术问答社区
在C#中发现串行端口
我正在编写一个通过将字节发送到USB端口来通信的应用程序.我想允许用户选择端口并这样做,我使用SerialPort.GetPortNames().不幸的是,它返回一个空数组.该方法据说读取数据注册表(HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM),但是serialComm目录丢失了.当我在Linux上运行该程序时,它列出了我的四个USB端口,如预期.如何以不同的方式修复注册表/发现端口? 解决方案 SerialPort.GetPortNames()是发现串行端口的正确方法.但是,如果您使用的是Windows 7,我认为这可能是注册表键上此方法列表的权限的问题.我找到了一篇帖子,可以在 microsoft.com . 其他解决方案 您可以使用管理对象查询可用的COM端口.有趣的表是: msserial_portname mswmi_pnpinstancenames win32_pnpentity 您
22 2024-04-23
编程技术问答社区
在C#.NET中使用USB PS2手控器
我正在尝试创建一个程序,该程序从USB PS2手控制器中获取输入,将信息转换为RS232设备.我已经为RS232设备提供了所有工作.问题是与USB控制器接口.似乎没有任何好的文档,除此之外,NET3.0/3.5没有任何液体可以帮助您.甚至如何开始? 解决方案 您是否尝试过Sharpusblib访问USB数据? 其他解决方案 可能是几年的线程...任何人....我知道Slimdx是C#.NET/VB的一个很好的库.而且,要使用USB控制器,这很简单,您需要做的就是这样.请注意,我随时制作的代码,我没有操纵杆进行测试,这是... static Joystick[] joystick = new Joystick[1]; const int minimum_value = -1000;//your values goes here const int maximum_value = 1000;//your values goes here public test
16 2024-04-22
编程技术问答社区
WinUSB_Initialize函数发生INVALID_FUNCTION(0x1)错误
为什么winusb_initialize函数发生Invalid_function(0x1)错误? 这是来自winusb.dll返回接口句柄的函数. 我想获得一个接口句柄. 我已经有一个设备手柄. internal struct devInfo { internal SafeFileHandle deviceHandle; internal IntPtr winUsbHandle; internal Byte bulkInPipe; internal Byte bulkOutPipe; internal Byte interruptInPipe; internal Byte interruptOutPipe; internal UInt32 devicespeed; }
14 2024-04-22
编程技术问答社区