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

时间:2011-11-01 15:39:58

标签: c++ windows credentials credential-providers

我正在使用cpp为Windows 7创建凭证提供程序。我想在系统在后台运行时禁用文本框并提交按钮。为此,我尝试使用以下代码:

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

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

1 个答案:

答案 0 :(得分:1)

有几种情况,使用SetFieldInteractiveState无效。例如,如果用户按下了“提交”按钮,将调用您的提供者GetSerialization函数,在您从GetSerialization返回之前,LogonUI不会进行任何GUI更改。我认为GUI的更改只能在提供者函数的调用之间进行。

P.S。我知道,很久以前就提出过这个问题,但将来也许,我的回答可以帮助别人。