微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在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 举报,一经查实,本站将立刻删除。