win32 应用程序不支持
CryptUIDlgSelectCertificateFromStore
吗?
我尝试显示商店中的证书列表,但它仅列出一个证书,并且不允许选择任何其他证书。
代码片段:
HCERTSTORE hCertStore = CertOpenSystemStore(NULL, L"MY");
CryptUIDlgSelectCertificateFromStore(hCertStore, GetForegroundWindow(), L"Select Certificate", L"Select Certificate", CRYPTUI_SELECT_ISSUEDBY_COLUMN| CRYPTUI_SELECT_INTENDEDUSE_COLUMN
| CRYPTUI_SELECT_LOCATION_COLUMN| CRYPTUI_SELECT_EXPIRATION_COLUMN, 0, NULL);
另请单击“更多选项”,它会导致崩溃。
您的代码是正确的。正如辩证法所说,原因在于其他部分。微软支持这个win32api,高于Windows XP系统。请参阅:CryptUIDlgSelectCertificateFromStore。