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中。
以下是代码:
int Redirect(const char *LocalName, const char *RemoteName, const char *UserName, const char *Password)
{
int nResult = ; NETRESOURCE nr;
DWORD res; char szUserName[],
szPassword[],
szLocalName[],
szRemoteName[MAX_PATH]; strcpy(szUserName,UserName);
strcpy(szPassword,Password);
strcpy(szLocalName,LocalName);
strcpy(szRemoteName,RemoteName); nr.dwType = RESOURCETYPE_ANY;
nr.lpLocalName = szLocalName;
nr.lpRemoteName = szRemoteName;
nr.lpProvider = NULL; //if(NO_ERROR!=WNetCancelConnection2(szLocalName,0,false))
// printf("断开失败"); res = WNetAddConnection2(&nr, szPassword, szUserName, CONNECT_UPDATE_PROFILE); switch(res)
{
case NO_ERROR:
g_DebugMsg.Sprintf("网络驱动器映射成功%s\n",RemoteName);
nResult = ;
break;
case ERROR_BAD_PROFILE:
g_DebugMsg.Sprintf("ERROR_BAD_PROFILE\n");
break;
case ERROR_CANNOT_OPEN_PROFILE:
g_DebugMsg.Sprintf("ERROR_CANNOT_OPEN_PROFILE\n");
break;
case ERROR_DEVICE_IN_USE:
g_DebugMsg.Sprintf("ERROR_DEVICE_IN_USE\n");
break;
case ERROR_EXTENDED_ERROR:
g_DebugMsg.Sprintf("ERROR_EXTENDED_ERROR\n");
break;
case ERROR_NOT_CONNECTED:
g_DebugMsg.Sprintf("ERROR_NOT_CONNECTED\n");
break;
case ERROR_OPEN_FILES:
g_DebugMsg.Sprintf("ERROR_OPEN_FILES\n");
break;
default:
g_DebugMsg.Sprintf("未知错误,可能需要帐号和密码认证,或者该主机或文件不存在\n");
break;
}
return nResult;
}
WINDOWS-API:操作网络映射盘-WNetAddConnection2的更多相关文章
- 解决Windows服务无法访问网络映射盘的问题
下载工具psexec 下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec 百度地址:https://pan.baid ...
- SQL Server 备份到网络盘网络映射盘
declare @DBName nvarchar(max) declare @BakName nvarchar(max) --在这里修改数据库名称 select @DBName='[LFBMP.PO] ...
- ASP.NET访问网络映射盘&实现文件上传读取功能
最近在改Web的时候,遇到一个问题,要跨机器访问共享文件夹,以实现文件正常上传下载功能. 要实现该功能,可以采用HTTP的方式,也可以使用网络映射磁盘的方式,今天主要给大家分享一下使用网络映射磁盘的方 ...
- C# 调用windows api 操作鼠标、键盘、窗体合集...更新中
鼠标操作window窗体合集...更新中 1.根据句柄查找窗体 引自http://www.2cto.com/kf/201410/343342.html 使用SPY++工具获取窗体 首先打开spy+ ...
- 加载网络映射盘中的assembly失败的处理办法
错误症状: 1.{"未能加载文件或程序集“file://*****”或它的某一个依赖项.不支持操作. (异常来自 HRESULT:0x80131515)":"file:/ ...
- 加载网络映射盘中的assembly失败
我有一个网络映射盘,盘符是Z:.在Z盘下面,放了一个assembly,名为test.dll.然后,我在VS2010中建立了一个.NET 4.0的工程,程序中有下面一段代码: string dll = ...
- windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案
为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php文件,一来节省虚拟机磁盘大小,二来解决虚 ...
- Windows API 函数列表 附帮助手册
所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...
- WINDOWS API 函数(超长,值得学习)
一.隐藏和显示光标 函数: int ShowCursor ( BOOL bShow ); 参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标:该函数的返回值为整型 ...
随机推荐
- L2-023 图着色问题 (25 分)vector
图着色问题是一个著名的NP完全问题.给定无向图,,问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色? 但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请 ...
- C#利用WebService接口下载文件
WebTest.RtTfSimDataInterface test = new WebTest.RtTfSimDataInterface(); //string strBasic = test.Get ...
- 51nod1416(dfs)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1416 题意:中文题诶- 思路:dfs 搜索同一颜色的点.. 只 ...
- cell内存优化
UITableView的常用属性: 分割线颜色设置: 1> 设置separatorStyle: 分割线的颜色 方法:tableView.separatorStyle = UITableViewC ...
- 如何找出nginx配置文件的所在位置?
对于一台陌生的服务器或安装太久忘了位置,怎么才能简单快速的找到配置文件的位置呢?要找出配置文件的位置,需要先找出nginx可执行文件的路径 , 这里有几种方法: 1.如果程序在运行中 ps -ef | ...
- PyAudio 实现录音 自动化交互实现问答
Python 很强大其原因就是因为它庞大的三方库 , 资源是非常的丰富 , 当然也不会缺少关于音频的库 关于音频, PyAudio 这个库, 可以实现开启麦克风录音, 可以播放音频文件等等,此刻我们不 ...
- mysql 维护添加远程主机访问
https://www.cnblogs.com/JNUX/p/6936548.html
- 关于Chrome和Opera中draw Image()方法无法在canvas画布中绘制图片的问题
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var img=d ...
- C语言的面向对象技术
引言:面向过程的C有效率高,代码紧凑的特点,在单片机嵌入式领域是C的主要阵地,while(1)+中断是其主要的开发模式,但是当系统复杂到一定程度,想要添加一个功能需要改动很多地方,耦合性太强:跟别人交 ...
- 剑指 Offer
3.1 找出数组中重复的数 来源:AcWing 题目描述 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内. 数组中某些数字是重复的,但不知道有几个数字重复了,也不 ...