65.9K
CodeProject 正在变化。 阅读更多。
Home

快速驱动器管理器

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.57/5 (5投票s)

2009年6月5日

CPOL
viewsIcon

27273

downloadIcon

710

连接和断开网络驱动器

介绍 

该项目演示了通过连接和断开网络共享来使用 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。

我想让观众了解类的可用性。 使用“打开驱动器”按钮,您可以访问新的驱动器。

QDM_Main.jpg

值得关注的点  

网络是一个巨大的领域;这只是两个有趣任务的演示。 我可以做很多事情来扩展它。 枚举可查找的共享并使其可选择将会很有趣。 所需的驱动器号在 Vista 上不起作用。

历史 

  • 2009/06/05:初始版本 v0.9
© . All rights reserved.