如何在C ++ Windows桌面应用程序中调用CredUIPromptForWindowsCredentialsW方法?

问题描述

我想用c ++在Windows中创建一个桌面应用程序。

在此应用程序中,每当我们要显示密码时,我都希望以Chrome的形式调用Windows安全对话框。

当我将以下代码添加到我的项目并进行构建时,发生了错误

严重性代码描述项目文件行抑制状态 错误LNK2019无法解析的外部符号 imp__CredUIPromptForWindowsCredentialsW @ 36在函数“ int stdcall ShowWindowsSecurityDialog(struct HWND *)”中引用(?ShowWindowsSecurityDialog @@ YGHPAUHWND @@@ Z)TestPromptwindowsSecurity D:\ Works \ Learn \ WindowsApp \ TestPromptwindowsSecurity \ TestPromptwindowsSecurity \ TestPromptwindowsSecurity.obj 1

这是我的代码。我将其放在ShowWindowsSecurityDialog方法中,然后在单击按钮后调用它。

INT_PTR CALLBACK ShowWindowsSecurityDialog(HWND hDlg)
{
    DWORD dwResult;
    PVOID pvInAuthBlob = NULL;
    ULONG cbInAuthBlob = 0;
    PVOID pvAuthBlob = NULL;
    ULONG cbAuthBlob = 0;
    CREDUI_INFOW ui;
    ULONG ulAuthPackage = 0;
    BOOL fSave = FALSE;
    ui.cbSize = sizeof(ui);
    ui.hwndParent = hDlg;
    ui.pszMessageText = L"The Proxy Server requires user name and password";
    ui.pszCaptionText = L"Proxy Authentication";
    ui.hbmBanner = NULL;

    dwResult = CredUIPromptForWindowsCredentialsW(
        &ui,// Customizing information
        0,// Error code to display
        &ulAuthPackage,// Authorization package
        pvInAuthBlob,// Credential byte array
        cbInAuthBlob,// Size of credential input buffer
        &pvAuthBlob,// Output credential byte array
        &cbAuthBlob,// Size of credential byte array
        &fSave,// Select the save check Box.
        CREDUIWIN_GENERIC);
    if (dwResult == NO_ERROR)
    {
    }
    else
    {
   
    }

    return (INT_PTR)FALSE;
}

这是怎么了?我该如何做这个功能

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)