资源管理器看不到WNetAddConnection2A映射的磁盘

本文提供了一段C代码示例,用于将网络资源映射为本地磁盘,并探讨了解决映射磁盘在资源管理器中不显示的问题。通过调整程序运行权限,最终实现了映射功能。

   首先上一段C代码用于映射网络资源到本地,其实也就是net use做的工作:

#include <stdio.h>
#include <windows.h>
#include <Winnetwk.h>
#pragma comment(lib, "mpr.lib")
int wmain(int argc, wchar_t * argv[])
{
    NETRESOURCEA nr;
    memset(&nr, 0, sizeof(NETRESOURCEA));
    nr.dwType = RESOURCETYPE_DISK;
    nr.lpLocalName = "W:";
    nr.lpRemoteName = "\\\\192.168.1.30\\share";
    DWORD dwRetVal = WNetAddConnection2A(&nr, "share", "share", 0);
    if (dwRetVal == NO_ERROR)
        printf("Connection added to %s\n", nr.lpRemoteName);
    else
        printf("WNetAddConnection2 failed with error: %u\n", dwRetVal);
    return 0;
}

  其实这真是特别easy的功能,但是我在资源管理器里面却看不到我所映射的磁盘!后来发现的原因是我使用了管理员权限运行了我的程序,参考StackOverflow提问:https://superuser.com/questions/1078117/why-isnt-file-explorer-showing-my-mapped-drives,同时也可以参考这篇文章:http://blog.youkuaiyun.com/russle/article/details/7402168

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值