2011-11-01 30 views
1

我正在使用cpp開發windows 7的證書提供者。我想在系統在後臺工作時禁用文本框並提交按鈕。爲此,我嘗試使用下面的代碼:禁用證書提供者上的區域

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

在這裏SFI_EDIT_TEXT代表,我想改變它的性質和CPFIS_DISABLED顯示它應該被禁用的對象(至少我認爲是)。但我沒有得到任何有用的結果。任何人都可以提供幫助?

+0

我認爲這是一個謎:) – kubudi

回答

1

有幾種情況,使用SetFieldInteractiveState將無法​​正常工作。例如,如果用戶按下了「提交」按鈕,則您的提供商GetSerialization函數將被調用,並且LogonUI不會更改GUI,直到您從GetSerialization返回爲止。我認爲GUI的更改只能在您的提供者函數的調用之間進行。

P.S.我知道,很久以前就問過這個問題,但是將來也許,我的答案可以幫助其他人。

+0

thx for answer :) – kubudi