WINDOWS-API:操作网络映射盘-WNetAddConnection2

首先在VC项目属性,开发依赖项里添加MPR.lib;然后,配置文件里填入以下信息。  

    //本地映射盘符
  MapDriver=T:

  //目标根目录
  //MapSharedPath=\\192.168.0.2\D$
  MapSharedPath=\\192.168.0.2\QuarkCall

  //目标机器用户名
  MapUser=administrator

  //目标机器密码
  MapPassword=administrator

这四个字段信息分别写入全局变量:LocalName,RemoteName,UserName,Password中。

 

以下是代码:

 1 int Redirect(const char *LocalName, const char *RemoteName, const char *UserName, const char *Password)
 2 {
 3   int nResult = 0;
 4 
 5   NETRESOURCE nr;
 6   DWORD res;
 7 
 8 
 9   char szUserName[32],
10   szPassword[32],
11   szLocalName[32],
12   szRemoteName[MAX_PATH];
13 
14   strcpy(szUserName,UserName);
15   strcpy(szPassword,Password);
16   strcpy(szLocalName,LocalName); 
17   strcpy(szRemoteName,RemoteName);
18 
19 
20   nr.dwType = RESOURCETYPE_ANY;
21   nr.lpLocalName = szLocalName;
22   nr.lpRemoteName = szRemoteName;
23   nr.lpProvider = NULL;
24 
25 
26   //if(NO_ERROR!=WNetCancelConnection2(szLocalName,0,false))
27     //    printf("断开失败");
28 
29   res = WNetAddConnection2(&nr, szPassword, szUserName, CONNECT_UPDATE_PROFILE);
30 
31   switch(res)
32   {
33     case NO_ERROR:
34       g_DebugMsg.Sprintf("网络驱动器映射成功%s\n",RemoteName);
35       nResult = 1;
36       break;
37     case ERROR_BAD_PROFILE:
38       g_DebugMsg.Sprintf("ERROR_BAD_PROFILE\n");
39       break;
40     case ERROR_CANNOT_OPEN_PROFILE:
41       g_DebugMsg.Sprintf("ERROR_CANNOT_OPEN_PROFILE\n");
42       break;
43     case ERROR_DEVICE_IN_USE:
44       g_DebugMsg.Sprintf("ERROR_DEVICE_IN_USE\n");
45       break;
46     case ERROR_EXTENDED_ERROR:
47       g_DebugMsg.Sprintf("ERROR_EXTENDED_ERROR\n");
48       break;
49     case ERROR_NOT_CONNECTED:
50       g_DebugMsg.Sprintf("ERROR_NOT_CONNECTED\n");
51       break;
52     case ERROR_OPEN_FILES:
53       g_DebugMsg.Sprintf("ERROR_OPEN_FILES\n");
54       break;
55     default:
56       g_DebugMsg.Sprintf("未知错误,可能需要帐号和密码认证,或者该主机或文件不存在\n");
57       break;
58   }
59   return nResult;
60 }

 

转载于:https://www.cnblogs.com/CPYER/p/3305741.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值