我正在使用DirectInput8在一个项目的工作,监测各种组件的pc。为了监视操纵杆,我们使用DirectInput8。通过枚举以DI8DEVCLASS_GAMECTRL为类型、以DIEDFL_ATTACHEDONLY为标志的所有操纵杆来检索数据。最近,我注意到我们有多个操纵杆出现了。首先,我查看了在重新启动之间存储组件的xml文件。有两个项目的操纵杆,罗技极限3d专业,每个有一个独特的产品guid。我备份文件,并删除它,有效地迫使重新扫描机器下一次应用程序启动后,我重新启动机器。我能够得到相同的问题发生和注销guids,他们是不同的每一个。该系统只有一个操纵杆插入,但它插入通过一个usb集线器。枢纽影响到我看到的了吗?我也只能让这发生
示例:
游戏杆产品GUID: 3C6A9720000000504944564944 Joystick实例GUID: 3C6A972097C11E3800144455354
操纵杆产品GUID: DA83AFB000000000504944564944 Joystick实例GUID: DA83AFB0D7B211E2800144455354
发布于 2014-02-21 00:19:55
这很难找到,但是在观察了我们的测试人员之后,我发现他们正在登录多个用户帐户,返回的GUID是每个用户不同的,这就是造成问题的原因,如果文档能够更新以反映这一点,那就太好了。
发布于 2013-12-12 19:30:14
也有类似的问题。我刚刚导出了我希望在计算机上复制GUID的VID/VID的DirectInput注册表设置。
因此,在regedit中导航到:
[HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\VID_[Whatever]&PID_[Whatever]\右击,选择导出以创建.reg文件,将其移动到所需的机器,然后双击。
发布于 2014-05-07 22:17:49
我和原来的海报有同样的问题。为了澄清他的答案,实例GUID对于每个用户来说是不同的。这里是MSDN文档,它错误地断言InstanceGUID应该在给定的计算机上保持不变。如果没有Mircosoft的人参与进来,我就不知道为什么会这样--这是一个错误还是文档不正确。
底线是,您将在多个用户之间为操纵杆共享大量的密钥绑定,而不是解决这个问题,这就是我的情况。
https://stackoverflow.com/questions/18993561
复制相似问题