禁用Credential Provider上的区域

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

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

在这里SFI_EDIT_TEXT代表我想改变它的属性的对象,而CPFIS_DISABLED显示它应该被禁用(至less我假设是这样)。 但是我没有得到任何有用的结果。 任何人都可以帮忙吗?

Solutions Collecting From Web of "禁用Credential Provider上的区域"

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

PS我知道,很久以前就有人问这个问题,但是将来也许我的答案可以帮助别人。