Win64Visual C++ 7.1Visual C++ 8.0Visual C++ 7.0C++/CLIVisual Studio .NET 2003Win32Visual Studio 2008Visual Studio 2005Visual C++ 6.0MFC初学者C中级开发Visual StudioWindowsC++
快速驱动器管理器
连接和断开网络驱动器
介绍
该项目演示了通过连接和断开网络共享来使用 Windows 的一些有用的网络 API。
背景
如果有人想处理网络共享并为其分配和删除驱动器号,这将非常有用。
使用代码
主要重点在于 Drives
类,它处理网络任务及其 API。 ErrorText
类通过提供一些错误文本也很有用。
Drives
类封装了 API 并以这种方式工作
连接到共享
DWORD dw = m_drives.ConnectionDialog1( m_csPath, &t );
//for deleting a drive letter (not its content)
DWORD dw = m_drives.DisConnect( m_csDrive );
它隐藏了一些结构体并使用适当的值对其进行初始化:
memset( &m_NetResource, 0, sizeof(m_NetResource) );
m_NetResource.dwScope = RESOURCE_REMEMBERED;
m_NetResource.dwType = RESOURCETYPE_DISK;
m_NetResource.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE;
m_NetResource.dwUsage = RESOURCEUSAGE_CONNECTABLE;
m_NetResource.lpLocalName = szDrive;//TEXT("Test");//
m_NetResource.lpRemoteName = (LPTSTR) pszPath;
CONNECTDLGSTRUCT dlg = {0};
dlg.cbStructure = sizeof(dlg);
dlg.hwndOwner = GetDesktopWindow();
dlg.lpConnRes = &m_NetResource;
dlg.dwFlags = CONNDLG_PERSIST|CONNDLG_USE_MRU;
演示
为了实际使用,我对该类进行了概念化。 我提供了一个小的 MFC GUI。
我想让观众了解类的可用性。 使用“打开驱动器”按钮,您可以访问新的驱动器。

值得关注的点
网络是一个巨大的领域;这只是两个有趣任务的演示。 我可以做很多事情来扩展它。 枚举可查找的共享并使其可选择将会很有趣。 所需的驱动器号在 Vista 上不起作用。
历史
- 2009/06/05:初始版本 v0.9