MFC 中如何与\\192.168.43.144\1共享盘建立连接
时间: 2023-09-06 18:13:29 浏览: 88
MFC源代码 MFCCON.01
5星 · 资源好评率100%
在 MFC 中与共享盘建立连接,需要使用 Windows API 中的网络函数。具体步骤如下:
1. 首先需要在程序中加载网络库,可以在项目属性中的“链接器”->“输入”->“附加依赖项”中添加“Mpr.lib”和“Netapi32.lib”。
2. 使用 WNetAddConnection2 函数创建连接,示例代码如下:
```
CString strRemotePath = _T("\\\\192.168.43.144\\1"); // 共享盘路径
CString strUserName = _T("用户名"); // 共享盘用户名
CString strPassword = _T("密码"); // 共享盘密码
DWORD dwFlags = 0; // 连接标志
NETRESOURCE netRes;
memset(&netRes, 0, sizeof(NETRESOURCE));
netRes.dwType = RESOURCETYPE_DISK;
netRes.lpLocalName = NULL;
netRes.lpRemoteName = strRemotePath.GetBuffer(strRemotePath.GetLength());
netRes.lpProvider = NULL;
DWORD dwRet = WNetAddConnection2(&netRes,
strPassword.IsEmpty() ? NULL : strPassword.GetBuffer(strPassword.GetLength()),
strUserName.IsEmpty() ? NULL : strUserName.GetBuffer(strUserName.GetLength()),
dwFlags);
if (dwRet != NO_ERROR)
{
// 连接失败,可以通过调用 GetLastError 获取错误码
}
else
{
// 连接成功
}
```
注意,如果共享盘不需要用户名和密码登录,则对应的参数可以传入 NULL。
3. 使用 WNetCancelConnection2 函数断开连接,示例代码如下:
```
CString strRemotePath = _T("\\\\192.168.43.144\\1"); // 共享盘路径
DWORD dwFlags = CONNECT_UPDATE_PROFILE; // 连接标志
DWORD dwRet = WNetCancelConnection2(strRemotePath, dwFlags, TRUE);
if (dwRet != NO_ERROR)
{
// 断开连接失败,可以通过调用 GetLastError 获取错误码
}
else
{
// 断开连接成功
}
```
同样地,如果共享盘不需要用户名和密码登录,则可以直接传入共享盘路径作为参数。
阅读全文