首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我使用WNetAddConnection2或WNetAddConnection3时,如何让操作系统保存我的凭据?

在使用WNetAddConnection2或WNetAddConnection3函数时,可以通过以下步骤让操作系统保存凭据:

  1. 创建一个CONNECTINFOSTRUCT结构体,并设置其中的dwFlags字段为CONNECT_INTERACTIVE | CONNECT_CMD_SAVECRED。CONNECT_INTERACTIVE标志表示连接是交互式的,CONNECT_CMD_SAVECRED标志表示保存凭据。
  2. 创建一个NETRESOURCE结构体,并设置其中的dwScope字段为RESOURCE_GLOBALNET,lpLocalName字段为NULL(如果不需要映射到本地驱动器的话),lpRemoteName字段为要连接的远程网络位置,lpProvider字段为NULL。
  3. 调用WNetAddConnection3函数,将CONNECTINFOSTRUCT结构体和NETRESOURCE结构体作为参数传入,以建立连接并保存凭据。

以下是一个示例代码,演示了如何使用WNetAddConnection3函数来保存凭据:

代码语言:txt
复制
#include <Windows.h>
#include <winnetwk.h>

int main()
{
    CONNECTINFOSTRUCT connectInfo;
    connectInfo.dwSize = sizeof(CONNECTINFOSTRUCT);
    connectInfo.lpUsername = "username"; // 填写用户名
    connectInfo.lpPassword = "password"; // 填写密码
    connectInfo.lpLocalName = NULL;
    connectInfo.lpRemoteName = "\\\\server\\share"; // 填写要连接的远程网络位置
    connectInfo.lpProvider = NULL;
    connectInfo.dwFlags = CONNECT_INTERACTIVE | CONNECT_CMD_SAVECRED;

    NETRESOURCE netResource;
    netResource.dwScope = RESOURCE_GLOBALNET;
    netResource.dwType = RESOURCETYPE_DISK;
    netResource.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE;
    netResource.dwUsage = RESOURCEUSAGE_CONNECTABLE;
    netResource.lpLocalName = NULL;
    netResource.lpRemoteName = "\\\\server\\share"; // 填写要连接的远程网络位置
    netResource.lpProvider = NULL;

    DWORD result = WNetAddConnection3(NULL, &netResource, &connectInfo);
    if (result == NO_ERROR)
    {
        // 连接成功,可以进行相关操作
    }
    else
    {
        // 连接失败,处理错误
    }

    return 0;
}

这样,操作系统会保存你提供的凭据,并且在下次连接时自动使用保存的凭据。请注意,在使用WNetAddConnection3函数时,需要先调用WNetAddConnection2函数,建立连接后再调用WNetAddConnection3函数保存凭据。另外,需要注意保护好代码中的用户名和密码信息,以防泄露。

相关搜索:当我的乌龟撞上精灵时,我如何让我的游戏重置?当我离开应用程序时,如何让我的MapView注释保存?当我释放按钮时,如何让我的While循环退出/中断?当我按下向右或向左的键时,如何让我的播放器(船)旋转?如何使用puppeteer/selenium在登录网站时重用保存的凭据/密码?当我保存权重时,我的rcnn模型太大了,如何使其更小?当我需要很多声音文件时,如何让我的网页快速加载?当我将鼠标悬停在li上时,我如何让我的链接改变颜色?如何使用css或javascript让我的SVG在鼠标悬停时显示动画?当我的角色走进我的角色时,如何让我的球像球一样滚动?当我恢复保存的图形和变量时。我如何在TF中获得位置?当我将鼠标悬停在我的框上时,如何让我的光标变成指针(指针手指)?当我使用控件时,我的游戏将无法工作,我如何修复它?当我按下UI按钮时,如何让我的播放器跳转?(统一)当使用PySimpleGui点击按钮时,我无法让按钮名称出现在gui上或保存输入。在使用axios调用登录API时,当我的凭据在catch中出错时,我没有得到任何响应如何让我的Apex类返回或“运行”JSON?使用APEX REST当我使用numpy多项式或astropy多项式时,我如何实现asdf扩展?当我保存图像时,我的水平条形图会截断一些文本。如何让条形图变短,文本变长?每当我点击DivTag时,我想使用JavaScript和JQuery保存点击时的内容,并将其保存在屏幕上并发布
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券