【发布时间】:2016-11-24 12:13:59
【问题描述】:
背景:
我正在创建一个 Windows 10 通用应用程序,它从智能卡(插入智能卡读卡器)读取一些数据并且它工作正常,但在所有情况下,用户都应该触发该过程从卡中读取数据。
问题:
如何处理 UWP 中的“卡插入事件”,以便每次插入卡后都可以从卡中读取数据?
【问题讨论】:
标签: c# .net win-universal-app windows-10-universal smartcard-reader
背景:
我正在创建一个 Windows 10 通用应用程序,它从智能卡(插入智能卡读卡器)读取一些数据并且它工作正常,但在所有情况下,用户都应该触发该过程从卡中读取数据。
问题:
如何处理 UWP 中的“卡插入事件”,以便每次插入卡后都可以从卡中读取数据?
【问题讨论】:
标签: c# .net win-universal-app windows-10-universal smartcard-reader
我不熟悉 UWP,但我发现了这个 example。
它创建一个智能卡读卡器实例:
private SmartCardReader reader = provisioning.SmartCard.Reader;
并向其添加CardAdded 处理程序:
reader.CardAdded += HandleCardAdded;
HandlerCardAdded 看起来像这样:
void HandleCardAdded(SmartCardReader sender, CardAddedEventArgs args)
{
// This event handler will not be invoked on the UI thread. Hence,
// to perform UI operations we need to post a lambda to be executed
// back on the UI thread; otherwise we may access objects which
// are not marshalled for the current thread, which will result in an
// exception due to RPC_E_WRONG_THREAD.
uiContext.Post((object ignore) =>
{
rootPage.NotifyUser("Card added to reader " + reader.Name + ".", NotifyType.StatusMessage);
}, null);
}
希望对您有所帮助。
【讨论】: