凭证提供者。显示一种进度条并禁用密码或 PIN 字段

Posted

技术标签:

【中文标题】凭证提供者。显示一种进度条并禁用密码或 PIN 字段【英文标题】:Credential Provider. Displaying a kind of progress bar and disabling password or PIN field 【发布时间】:2014-09-09 16:42:44 【问题描述】:

我正在基于 Microsoft 的示例 http://www.microsoft.com/en-us/download/details.aspx?id=5372 开发自定义智能卡凭据提供程序。特别是,我使用的是带有包装提供程序的示例,因此我只需要在现有功能中添加一些新功能。 按下提交按钮后,提供商应向我的服务器发送身份验证请求,如果得到肯定回答,则应进一步使用标准 Windows 机制。

我已经成功地将我的请求代码放在 GetSerialization 方法的开头。但由于此操作可能需要很长时间,我需要通知用户当前进度。

    第一个问题。从 GetSerialization 运行我的代码是个好主意吗?

由于不允许开发人员在登录屏幕上绘制自定义控件(如进度条),我决定创建一个包含当前操作状态的小顶部窗口并将其显示在右上角。同时我需要禁用 PIN 字段和提交按钮,直到操作完成。但正如我在Disabling areas on Credential Provider 注意到的那样,GetSerialization 是不可能的。

    第二个问题。你会推荐我用什么方法来实现这个功能?

    第三个。如何使用 Credentials::Advice 方法来确定到底发生了什么?因为我得到的只是 ICredentialProviderCredentialEvents* pcpce 作为参数,我可以用它来调用它的方法,但我仍然不知道,这个事件的来源是什么。是按键按下或提交按钮还是其他什么?

任何帮助将不胜感激)

【问题讨论】:

至于第二个问题——最明显的方法是在登录和密码字段上方创建最顶部的窗口(具有当前操作状态),因此用户将无法与这些字段进行交互 【参考方案1】:
    我刚刚得到了同样的歧义,并在GetSerialisation 内部进行了所有服务器交互 - 它工作正常。从按下提交到登录的延迟大约 2 秒。 尝试使用带有运行点的文本字段: '. ' ' . ' ' . ' ' . ' ' . ' ' .' 建议用于为您提供调用 LogonUI 的上下文。例如,设置具有更新值的文本字段。

【讨论】:

以上是关于凭证提供者。显示一种进度条并禁用密码或 PIN 字段的主要内容,如果未能解决你的问题,请参考以下文章

php上传文件进度条

如何启用垂直滚动的滚动条并禁用水平滚动?

手机打电话受固定拨号限制,设置时要PIN2码怎么办

如何在kivy python中使用滑块作为进度条并控制音频?

uploadifive.js怎么去掉进度条

css设置滚动条并显示或隐藏