草庐IT

c# - 可以在 Windows 中以编程方式识别设备的物理 USB 端口吗?

我有一个USB设备,当命令这样做时,它使用不同的接口(interface)、VID、PID和序列号进行枚举,我想在发生此更改后跟踪物理设备。我的想法是通过它的枢纽和港口位置来追踪它。Win32_PnPSignedDriver类有一个看似完美的“位置”字段(例如Port_#0001.Hub_#0010),但它仅包含首次加载驱动程序时设备的位置。将硬件插入不同的端口不会更新该字段。但是,由于在通过设备管理器查看设备时,“详细信息”选项卡下有一个“位置信息”字段,因此该信息在某处可用。这些信息可以通过WMIqueries找回吗?还是其他一些方法?有没有更好的方法来解决这个问题?编辑:我知道这

windows - 我是否需要为 CDC 设备编写自己的主机端 USB 驱动程序

这可能不被认为与编程直接相关,但我不知道还有什么地方可以问。我曾尝试查看各种网站,但到目前为止,Google还不是我的friend。我无法确定是否需要为我正在开发的设备可能连接到的各种windows/linux/mac平台编写自己的设备驱动程序,或者功能是否由标准驱动程序提供。我的设备是USBCDC(通信设备),显示为COM:端口。它还包括一个电池充电器,一旦设备被枚举,该充电器将需要可从USB连接器汲取的完整5个单位负载(500mA)电源电流。我的问题是,如果主机中的USB驱动程序决定它无法提供全部电源电流,那么它应该无法枚举设备。如果作为后备,我提供了第二个配置集,该配置集仅允许设

c - 如何为 Windows 实现 USB 设备驱动程序?

我应该如何为Windows实现USB设备驱动程序?我应该如何考虑不同版本的Windows例如:-WindowsXP-WindowsVista-Windows7是否有可以用作起点的开源解决方案?我是Windows驱动程序开发的新手。我们有一个带有USB设备端口的嵌入式设备,我们希望在不牺牲数据吞吐量的情况下,从应用程序层到设备的通信延迟尽可能低。实际传输的数据是ADC/DAC数据。基本上,我们需要尽快将大量数据传输到Windows机器。 最佳答案 我们需要有关该设备的更多信息来为您指明正确的方向,但这里有几个步骤可以帮助您入门:注册M

windows - 当用户不使用 "Safely Remove Hardware"时,如何确保文件永久保存在 USB 上?

当我在我的delphi应用程序中将文件保存在USB上时,如果没有执行“安全删除硬件”(尤其是忘记使用),我如何确保文件真的(永久)保存在USB上?告诉我们的客户使用Windows功能“安全删除硬件”不起作用。是否有WindowsAPI命令来刷新缓冲区,以便将所有数据永久写入USB驱动器? 最佳答案 打开文件时,指定“直写”(FILE_FLAG_WRITE_THROUGH标志到CreateFile())。这将强制操作系统直接写出文件。它可能仍在操作系统缓存中以加速后续读取,但这对您来说不是问题。如果你确实想刷新文件缓冲区,当然总是有F

android - 无法在 Windows 7 上安装 Android USB 驱动程序

所以我想使用我的新Nexus5来调试我的应用程序。我尝试通过devicemanager安装AndroidUSB驱动程序但是我的nexus被列为可移植设备并使用默认的windows驱动程序。我如何用android驱动程序替换windowsMTP-USB驱动程序?何时我单击更新驱动程序软件并选择"\sdk\extras\google\usb_driver",它告诉我驱动程序软件是最新的。编辑:USB调试已激活编辑2:对不起,我的错,我的设备管理器中实际上有两个Nexus5。另一个接受了android驱动程序。 最佳答案 首先,您需要确保

自 Windows 10 1809 以来,通过 USB HID 设备创建文件失败并出现访问被拒绝 (5)

自最新的Windows101809更新以来,我们无法再使用CreateFile打开我们的USBHID键盘类设备。我们将问题简化为这个最小的例子:#include#include#include#includevoidbad(constchar*msg){DWORDw=GetLastError();fprintf(stderr,"bad:%s,GetLastError()==0x%08x\n",msg,(unsigned)w);}intmain(void){inti;GUIDhidGuid;HDEVINFOdeviceInfoList;constsize_tDEVICE_DETAILS_

c# - 如果 pendrive 插入 USB 端口,如何使用 c# 检测?

有没有办法查明在LAN中有人将随身驱动器插入USB端口的时间?以编程方式(最好在C#中)或通过某种工具。基本上我会想象一个客户端应用程序位于每个终端上并监视USB端口并将信息发送到服务器。a.)我可以得到正在复制的文件的详细信息吗?b.)有没有办法在没有客户端应用程序的情况下做到这一点?编辑我不想完全禁用USB端口。它需要有基础。基本上只是希望LAN上的用户负责任地共享数据,并知道传输的任何数据都受到监控和记录,以后可以提出质疑。 最佳答案 [假设是Windows,给出了C#注释。请相应标记]是的,这是可能的。并且可以获得文件的详细

windows - 原始打印直接到 USB 打印机,绕过 Windows 后台处理程序

我正在试验ZebraTTP8200热敏打印机。对于我的应用程序,我需要连续打印绘图仪类型轨迹,直到用户点击停止按钮。我玩过ZPL语言,我可以成功生成位图数据并通过将ZPL作为原始数据输出一次一行(或几行)输出我的位图。我正在使用一些Microsoftdemocode将原始数据输出到打印机,这很好用,除了一个问题:假脱机程序。事实证明,每次我使用MSrawprn.exe代码输出一些数据时,它实际上都作为打印作业假脱机,然后传输到打印机。这最多需要10秒才能通过后台处理程序,显然太慢了。在驱动程序中禁用假脱机功能没有帮助,它只是意味着当作业通过假脱机程序并完成打印时程序挂起。有没有办法绕过

windows - "COM"、 "USB"、 "Serial Port"有什么区别?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭7年前。Improvethisquestion我对这3个概念感到困惑。我的理解是,SerialPort通常表示RS-232兼容端口(RS=RecommendedStandard)

mysql - XAMPP USB Lite - 如何将 MySQL 5.5 更改或升级到 5.6?

由于XAMPP只支持MySQL5.5,我想在当前稳定的1.7.7或1.8.1版本的XAMPP中将MySQL服务器升级到5.6(测试版)。我可以吗?如果是,怎么办?(澄清一下:复制和切换mysql文件夹是行不通的。) 最佳答案 我找到了完美的方法,没有任何副作用,并且与xampp控制面板完美配合......在开始之前,请确保将数据库备份到文件并将所有用户导出到文件一定要停止mysql不需要卸载服务第1步:在MySQL安装版或zip上下载新版本。(首选安装版,因为它相当小)第2步:将MySQL安装到C:\TEMP。只安装MySQL服务器