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时显示光标:该函数的返回值为整型 ...
随机推荐
- JavaScript数组及相关方法
数组 1.创建数组 var array = new Array(); var array = new Array(size);//指定数组的长度 var array = new Array(item1 ...
- 如何将基于对话框的MFC工程改成基于BCG的
1.stdafx.h 加入如下内容.BCGCBProInc.h间接导入了lib. 2.应用程序类的父类由CWinApp改成CBCGPWinApp.构造函数增加如下代码: 3.对话框的父类有CDialo ...
- Vertex Lit 顶点光照
http://blog.csdn.net/heyuchang666/article/details/51565102 顶点光照(Vertex Lit) 是最低保真度的光照.不支持实时阴影的渲染路径.最 ...
- 【UVA - 156 】Ananagrams (set,map,vector)
Ananagrams Descriptions: Most crossword puzzle fans are used to anagrams--groups of words with the ...
- Python scrapy框架爬取瓜子二手车信息数据
项目实施依赖: python,scrapy ,fiddler scrapy安装依赖的包: 可以到https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载 pywi ...
- 生成Jar包 源码Jar包-字节码Jar包 不可运行Jar包-可运行Jar包
- numpy使用示例
numpy介绍 创建numpy的数 一维数组是什么样子 可以理解为格子纸的一行就是一个一维数据 two_arr = np.array([1, 2, 3]) 二维数组什么样子 理解为一张格子纸, 多个一 ...
- AKOJ-2037-出行方案
链接:https://oj.ahstu.cc/JudgeOnline/problem.php?id=2037 题意: 安科的夏天真是不一般的热,避免炎热,伍学长因此想为自己规划一个校园出行方案,使得从 ...
- css hack 笔记
body{background-color:#000\9;}/*ie*/ body{background-color:#0f0\9\0;}/*ie9及以上*/ body{background-colo ...
- yii2 使用gii生成代码文件
访问地址: http://localhost/yii2-test/web/index.php?r=gii 如果你通过本机以外的机器访问 Gii,请求会被出于安全原因拒绝. 在web.php修改gii ...