在使用WNetAddConnection2或WNetAddConnection3函数时,可以通过以下步骤让操作系统保存凭据:
以下是一个示例代码,演示了如何使用WNetAddConnection3函数来保存凭据:
#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函数保存凭据。另外,需要注意保护好代码中的用户名和密码信息,以防泄露。
领取专属 10元无门槛券
手把手带您无忧上云