(1)新建一个对话框应用程序,如图
(2)处理...按钮
void CNetDiskDlg::OnBrown()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
BROWSEINFO bInfo; //declare the object of browse info
bInfo.hwndOwner=this->m_hWnd; //set the owner of browse windows
bInfo.pidlRoot=NULL;
bInfo.pszDisplayName=NULL;
bInfo.lpszTitle="Browse"; //set the title of browse windows
bInfo.ulFlags=0;
bInfo.lpfn=NULL;
bInfo.lParam=0;
bInfo.iImage=0;
ITEMIDLIST* pItemList=SHBrowseForFolder(&bInfo); //show the dialog of file browse
CString folderdir="C:\\";
SHGetPathFromIDList(pItemList,folderdir.GetBuffer(0)); //get the dir that selected by user
m_Netdir=folderdir;
UpdateData(FALSE); //show the info of dir
}
(3)处理添加事件按钮,将网络目录映射到磁盘本地
void CNetDiskDlg::OnAddnetdisk()
{
// TODO: Add your control notification handler code here
UpdateData();
NETRESOURCE nsource;
nsource.dwScope=RESOURCE_GLOBALNET;
nsource.dwType=RESOURCETYPE_DISK;
nsource.dwDisplayType=RESOURCEDISPLAYTYPE_GENERIC;
nsource.dwUsage=RESOURCEUSAGE_CONNECTABLE;
nsource.lpLocalName=m_LocalDisk.GetBuffer(0);
nsource.lpRemoteName=m_Netdir.GetBuffer(0);
nsource.lpProvider=NULL;
nsource.lpComment=NULL;
DWORD ret = WNetAddConnection2(&nsource,NULL,NULL,0);
if (ret==NO_ERROR)
{
MessageBox("set successfully");
}
else
{
MessageBox("fail to set");
}
}
注意要
#include “Winnetwk.h”
#pragma comment(lib, “mpr.lib”)
否则编译不通过
(4)运行程序