首页 > 解决方案 > 如何读取 Windows.Devices 命名空间中的 DeviceInformation 属性

问题描述

我有一个智能卡读卡器,我想知道何时添加或移除读卡器。

我已经设置了一个带有一些事件的 DeviceWatcher。

devWatcher = Windows.Devices.Enumeration.DeviceInformation.CreateWatcher();

devWatcher.EnumerationCompleted += DeviceWatcher_EnumerationCompleted;
devWatcher.Added += DeviceWatcher_AddedAsync;
devWatcher.Removed += DeviceWatcher_Removed;
devWatcher.Updated += DeviceWatcher_UpdatedAsync;

devWatcher.Start();

如果我理解 Microsoft 开发人员的参考,DeviceWatcher将首先枚举所有设备,所以我等待 EnumerationComplete 事件。如果此时已添加设备,则任何更改都会显示在更新事件中。从我可以看到,如果我删除了设备,那么 Removed 事件和 Update 事件就会触发。如果我将其添加回来,则只会发生更新事件。

因此,我想从DeviceWatcher.UpdatedEvent了解设备的状态。我假设我需要从 Update 事件中提供的 DeviceInformationUpdate 的属性中获取此信息。

我知道我需要从设备信息属性中获取此信息,但是我不知道哪种设备类型可用以及该类型中的哪个属性要使用,如果我理解正确,这些属性并不总是适用于每个设备。

标签: c#uwpsmartcard

解决方案


推荐阅读