Отключение областей в поставщике учетных данных

#c #windows #credentials #credential-providers

#c #Windows #учетные данные #поставщики учетных данных

Вопрос:

Я работаю над поставщиком учетных данных для Windows 7 с cpp. Я хочу отключить текстовые поля и кнопку отправки, пока система работает в фоновом режиме. Для этого я попытался использовать приведенный ниже код:

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

Здесь SFI_EDIT_TEXT представляет объект, свойства которого я хочу изменить, и CPFIS_DISABLED показывает, что он должен быть отключен (по крайней мере, я предполагаю, что это так). Но я не получил никакого полезного результата. Кто-нибудь может помочь?

Ответ №1:

Существует несколько ситуаций, когда использование SetFieldInteractiveState не будет работать. Например, если пользователь нажал кнопку «Отправить», GetSerialization будет вызвана ваша функция поставщика, и LogonUI не внесет никаких изменений в графический интерфейс, пока вы не вернетесь из GetSerialization . Я думаю, что изменения графического интерфейса выполняются только между вызовами функций вашего провайдера.

PS Я знаю, что этот вопрос был задан давно, но в будущем, возможно, мой ответ может помочь другим.