凭据提供程序上的禁用区域

Posted

技术标签:

【中文标题】凭据提供程序上的禁用区域【英文标题】:Disabling areas on Credential Provider 【发布时间】:2011-11-01 15:39:58 【问题描述】:

我正在为带有 cpp 的 Windows 7 开发凭据提供程序。我想在系统在后台工作时禁用文本框并提交按钮。为此,我尝试使用以下代码:

_pCredProvCredentialEvents->SetFieldInteractiveState(this,SFI_EDIT_TEXT,CPFIS_DISABLED);

在这里,SFI_EDIT_TEXT 代表我想要更改其属性的对象,CPFIS_DISABLED 显示它应该被禁用(至少我认为是这样)。但我没有得到任何有用的结果。任何人都可以提供帮助?

【问题讨论】:

【参考方案1】:

在几种情况下,使用SetFieldInteractiveState 将不起作用。例如,如果用户按下了“提交”按钮,您的提供者GetSerialization 函数将被调用,并且LogonUI 不会对GUI 进行任何更改,直到您从GetSerialization 返回。我认为 GUI 的更改仅在调用您的提供程序的函数之间进行。

附:我知道,这个问题是很久以前提出的,但将来,也许我的回答可以帮助其他人。

【讨论】:

以上是关于凭据提供程序上的禁用区域的主要内容,如果未能解决你的问题,请参考以下文章

Windows 凭据提供程序远程登录

如何在启动程序且 UAC 被禁用时强制提示输入凭据?

凭据提供程序通过网络进行通信

C++ Windows 凭据提供程序进度屏幕

登录时未通过凭据提供程序加载 KSP(密钥存储提供程序)

使用 Eclipse CDT 创建凭据提供程序