私はこの問題をここで理解しようと多くの時間を費やしました。私はHIDバーコードスキャナーを使用しており、デバイス情報を取得できます。しかし、正しいデバイスIDであってもHidDeviceオブジェクトを保持することはできません。常にnullを返します。ここで私が持っているものです。HIdDevice.fromIdAsyncは常にnullを返します
var selector = Windows.Devices.HumanInterfaceDevice.HidDevice.getDeviceSelector(parseInt('0x1', 16), parseInt('0x6', 16));
Windows.Devices.Enumeration.DeviceInformation.findAllAsync(selector, null).then(
function (deviceInfoCollection) {
if (deviceInfoCollection.length > 0) {
for (var i = 0; i < deviceInfoCollection.length; i++) {
var id = deviceInfoCollection.getAt(i).id;
return Windows.Devices.HumanInterfaceDevice.HidDevice.fromIdAsync(id, Windows.Storage.FileAccessMode.readWrite);
}
}
else {
throw "No Devices Discovered.";
}
})
.done(function (device) {
if (device != null)
successCallback(device.name);
});
私は私のマニフェストファイルでこれらのデバイスの機能を追加しました:
<DeviceCapability Name="humaninterfacedevice">
<Device Id="any">
<Function Type="usage:0001 *"/>
</Device>
</DeviceCapability>
[CustomHidDeviceAccess](https://github.com/Microsoft/Windows-universal-samples/tree/6370138b150ca8a34ff86de376ab6408c5587f5d/Samples/CustomHidDeviceAccess)のサンプルをテストしましたか?そうでない場合は、参照してください。 –
ありがとうございます。私は持っていて、セレクタはSuperMUTTデバイスで動作するように設定されていたので、usageIDとusagePageIDを変更してキーボードのようなHIDデバイスを選択させました。デバイスがリストされているのを見ているうちに、デバイスに接続できませんでした。また、私はJavaScriptを使って作業しています。 – newbee8