编程访问Windows网络共享文件夹

问题描述 投票:0回答:1

Windows 共享文件夹如下:

其实可以像在本地一样写文件操作代码,

#include <filesystem>
using namespace std;
namespace fs = std::filesystem;

int main(int argc, wchar_t* argv[])
{
    fs::path fromPath = "D:\\temp\\test.zip";
    fs::path toPath = R"(\\127.0.0.1\ProgramData\test.zip)";
    std::error_code ec;
    bool b = fs::copy_file(fromPath, toPath, ec);
    cout << (b ? "OK" : ec.message()) << endl;

    std::ofstream fout(R"(\\127.0.0.1\ProgramData\test.txt)");
    fout << "abc";
}

除非您需要先登录目标计算机,

不幸的是,这一步是手动的。我可以写一些代码来自动完成这样的工作(登录)吗?当然,所有的共享文件夹和用户/权限都是预先设置好的。

c++ windows winapi
1个回答
0
投票

我建议您可以尝试使用 WNetAddConnection2 函数 连接到网络资源。

NETRESOURCE resource;
resource.dwType=RESOURCETYPE_DISK;
resource.lpLocalName=NULL;
resource.lpRemoteName=L"……"; //remote network name
resource.lpProvider=NULL;
DWORD result = WNetAddConnection2(&resource, lpPassword, lpUserName, CONNECT_TEMPORARY);
© www.soinside.com 2019 - 2024. All rights reserved.