首页 > 解决方案 > Windows 对话框打不开

问题描述

当用户按下按钮时,我试图在 Windows 机器中打开一个对话框(使用 Windows 凭据提供程序)。我尝试了下面的代码,但是没有打开对话框。我有一个资源“IDD_DIALOG1”和回调方法“ChangePasswordProc”。

HWND hwndOwner = nullptr;

::DialogBox(HINST_THISDLL, MAKEINTRESOURCE(IDD_DIALOG1), hwndOwner,ChangePasswordProc);

标签: c++windowsvisual-studiocredential-providers

解决方案


要从内部创建任何窗口,Credential Provider必须首先通过调用接口OnCreatingWindow方法获取父窗口句柄ICredentialProviderCredentialEvents

HRESULT OnCreatingWindow([out] HWND* phwndOwner);

指向此接口的指针通过调用 AdviseICredentialProviderCredential接口的方法提供给您的提供者:

HRESULT Advise([in] ICredentialProviderCredentialEvents* pcpce);

看看这个帖子


推荐阅读