加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何执行特定HID设备的硬件复位?

发布时间:2020-12-15 03:50:02 所属栏目:大数据 来源:网络整理
导读:目的 使用Delphi应用程序执行特定USB加密狗ANT,HID设备的硬件复位. CM_Request_Device_Eject函数尝试 我试图使用 CM_Request_Device_Eject 功能,它正确地弹出我的设备,但在某些系统不会自动启动它. 这是我用于设备弹出的代码: str := PChar(GetDeviceID(Dev
目的

使用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可以帮助你在这种情况下…如果不保持谷歌搜索.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读