Delphi   发布时间:2022-04-10  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了delphi – 如何执行特定HID设备的硬件复位?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目的

使用Delphi应用程序执行特定USB加密狗ANT,HID设备的硬件复位.

CM_request_Device_Eject函数尝试

我试图使用CM_Request_Device_Eject功能,它正确地弹出我的设备,但在某些系统不会自动启动它.

这是我用于设备弹出的代码:

str := PChar(GetDevicEID(DeviceInfoData.DevInst));
status := CM_Locate_DevNodeA(dev,str,CM_LOCATE_DEVNODE_NORMAL);
status := CM_request_Device_EjectA(dev,nil,'',0);

有没有办法确保我的设备启动,如果在弹出后不自动启动使用此功能?

2. SetupDiRestartDevices功能尝试

作为一种替代方案,我试图使用SetupDiRestartDevices功能,这一个正确地重置了我的设备,但是除了复位所有的HID设备(如鼠标,键盘等),并且此功能需要管理员权限工作:

rslt1 := SetupDiRestartDevices(hDevInfo,DeviceInfoData);

如何才能使用此功能重设设备?

是否有通用的推荐方式来执行特定USB HID设备的硬件复位?还是有办法解决上述任何问题?

解决方法

硬复位不是你自己做的事情
要对某些设备进行硬重置,该特定设备必须支持硬复位…
硬盘复位方式因设备而异.
一些设备上有一个按钮进行硬复位.有些需要一段代码.大部分公司为特定设备发布了一套AT命令列表.

例如..
here是制造商为具体设备发布的命令的列表

this可以帮助你在这种情况下…如果不保持谷歌搜索.

大佬总结

以上是大佬教程为你收集整理的delphi – 如何执行特定HID设备的硬件复位?全部内容,希望文章能够帮你解决delphi – 如何执行特定HID设备的硬件复位?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。