如果我在设备上的SmartCard阅读器中插入一张卡片。我想在我的WPF项目中触发一个事件。有什么办法可以做到吗?
发布于 2018-12-15 18:30:47
这个问题是不久前提出的,但我可以证实这是可能的。您可以引用UWP程序集。从桌面应用程序调用Windows 10 API详细介绍了如何添加引用。
右击参考资料。选择“添加引用…”从上下文菜单。在参考管理器的左侧,选择Browse并找到以下文件: C:Program (X86) Kits10UnionMetadatawinmd。将其作为参考添加到您的项目中。注意:您需要将过滤器更改为“所有文件”。 右击参考资料。选择“添加引用…”从上下文菜单。在参考管理器的左边,转到Browse并找到目录“C:Program(X86)ReferenceAssembliesMicrosoftFramework.NETCorev4.5”。将System.Runtime.WindowsRuntime.dll添加到项目中。
在这里,我遵循这个示例,得到所有的卡片简单地剪切和粘贴主要部分。一旦有了读取器,就可以添加卡添加事件
string selector = SmartCardReader.GetDeviceSelector();
DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(selector);
foreach (DeviceInformation device in devices)
{
SmartCardReader reader = await SmartCardReader.FromIdAsync(device.Id);
// For each reader, we want to find all the cards associated
// with it. Then we will create a SmartCardListItem for
// each (reader, card) pair.
IReadOnlyList<SmartCard> cards = await reader.FindAllCardsAsync();
foreach (SmartCard card in cards)
{
SmartCardProvisioning provisioning = await SmartCardProvisioning.FromSmartCardAsync(card);
SmartCardListItem item = new SmartCardListItem()
{
ReaderName = card.Reader.Name,
CardName = await provisioning.GetNameAsync()
};
cardItems.Add(item);
}
}https://stackoverflow.com/questions/42206972
复制相似问题