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

标签 c++ winapi credential-providers

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

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

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

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

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

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

任何帮助将不胜感激)

最佳答案

  1. 我只是遇到了同样的歧义,并在 GetSerialisation 中进行了所有服务器交互 - 它工作正常。从按下提交到登录大约延迟 2 秒。
  2. 尝试使用带有连续点的文本字段: '. ' ' 。 ' ' 。 ' ' 。 ' ' 。 ' '.'
  3. Advise 用于为您调用 LogonUI 提供上下文。例如,设置具有更新值的文本字段。

关于c++ - 凭证提供者。显示一种进度条并禁用密码或 PIN 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749910/

相关文章:

c++ - 在 mysql connector/c++ 中使用 setblob 设置二进制数据导致崩溃

c++ - g++ ifstream 的类型不完整,存在正确的头文件

c++ - 运营商评价

c# - 在媒体播放器中播放下一首歌曲的命令是什么?

c++ - 凭据提供程序和命名管道

android - 为经过身份验证的用户获取凭据提供程序

c++ - 对象指针的 vector 在 C++ 中似乎没有按预期执行

c++ - 将字节数组转换为 UTF-8 unicode

python - 在 python 中查找所有窗口的 exe 路径