我提供了我的截图
CredentialProvider
窗口。在这
窗户一切都很好,但我
不想显示Switch User
按钮给用户。我该怎么办
这个。我只是在编辑Win-7 SDK
CredentialProvider
的样本
(C ++)。任何人都可以帮助我,或任何
代码帮助的链接。
我想要问的另一件事是默认情况下,用户名文本框以灰色显示EditText
。我如何将其更改为Username
文本。我可以在SHStrDupW(L"", &_rgFieldStrings[SFI_EDIT_TEXT]);
代码中设置文本,但不在背景文本中设置。是否有任何黑客攻击。
感谢SO成员
答案 0 :(得分:4)
您无法直接阻止“切换用户”按钮出现;如果出现导致它出现的条件,那么它就会出现。但是你能做什么:防止导致它出现的条件。
当磁贴处于选定状态时,该按钮出现;以及1.)您的凭证提供程序枚举除所选磁贴之外的磁贴,或2.)其他凭据提供程序枚举磁贴。
第一个条件很容易预防:在GetCredentialCount()中,始终报告您只枚举一个凭据。 (这当然意味着您必须构建磁贴以处理所有用户。)
要防止出现第二种情况,您必须实施凭据提供程序筛选器。 (如果您不知道那是什么,请搜索“ICredentialProviderFilter”界面。)
祝你好运。答案 1 :(得分:3)
回答问题2:
用户名文本框以灰色显示EditText。您可以将其更改为用户名文本。您可以使用
设置文本SHStrDupW(L"", &_rgFieldStrings[SFI_EDIT_TEXT]);
看看 common.h ,你会发现
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR s_rgCredProvFieldDescriptors[] = { SFI_EDIT_TEXT, CPFT_EDIT_TEXT, L"Edit Text" }
如果您将此编辑文字更改为用户名,则它将显示在您的文本框中。