如何得到与网上邻居一样的资源? http://www.vckbase.com/bbs/prime/viewprime.asp?id=150 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://nowcan.yeah.net里的共享搜索器。 给你一个例子如何得到与网上邻居一样的资源:定义:// testreeDlg.h : header filebool EnumerateNet(CTreeCtrl *tre,HTREEITEM hRoot,LPNETRESOURCE lpNR, DWORD dwScope= RESOURCE_GLOBALNET, DWORD dwType=RESOURCETYPE_ANY);CImageList cill1;//用于显示图片CTreeCtrl m_tre;//用于显示 与控件相对应//// testreeDlg.cpp : implementation file//调用: CTestreeApp *pApp=(CTestreeApp *)AfxGetApp(); cill1.Create (16,16,ILC_COLOR,3,2); cill1.Add (pApp->LoadIcon(IDI_ICON_INT1D)); cill1.Add (pApp->LoadIcon(IDI_ICON_INT2S)); cill1.Add (pApp->LoadIcon(IDI_ICON_INT3S)); m_tre.SetImageList (&cill1,TVSIL_NORMAL); HTREEITEM hRoot; BeginWaitCursor(); EnumerateNet(&m_tre,hRoot,0); EndWaitCursor(); //函数:bool CTestreeDlg::EnumerateNet(CTreeCtrl *tre,HTREEITEM hRoot, LPNETRESOURCE lpNR,DWORD dwScope, DWORD dwType){ HANDLE hEnum=0; HTREEITEM hcur; DWORD dwRet = WNetOpenEnum(dwScope, dwType,0,lpNR,&hEnum); if(dwRet!=NO_ERROR) return false; LPNETRESOURCE lpnrLocal; //有待实验 DWORD cbBuffer = 2048; DWORD dwResult; DWORD cEntries = 0xFFFFFFFF; lpnrLocal = (LPNETRESOURCE)GlobalAlloc( GPTR, cbBuffer ); while(1) { dwResult=WNetEnumResource(hEnum,&cEntries,lpnrLocal,&cbBuffer); if(dwResult==NO_ERROR) { ////////////////////// CString strname; for(DWORD i=0; i <cEntries; i++ ) { // 只搜索网络提供者为"Microsoft Network"的资源 switch( lpnrLocal[i].dwDisplayType ) { case RESOURCEDISPLAYTYPE_NETWORK: // 整个网络 strname=lpnrLocal[i].lpRemoteName; strname+="整个网络(*)"; hRoot=tre->InsertItem(strname,0,0); if(!EnumerateNet(tre,hRoot,&lpnrLocal[i])) return false; m_tre.Expand (hRoot,TVE_EXPAND); break; case RESOURCEDISPLAYTYPE_DOMAIN: // 工作组 strname=lpnrLocal[i].lpRemoteName; strname+="--工作组"; hcur=tre->InsertItem (strname,1,1,hRoot); if(!EnumerateNet(tre,hcur,&lpnrLocal[i])) return false; m_tre.Expand (hcur,TVE_EXPAND); break; case RESOURCEDISPLAYTYPE_SERVER: // 计算机 strname=lpnrLocal[i].lpRemoteName; strname=strname.Right (strlen(strname)-2); tre->InsertItem (strname,2,2,hRoot); break; } } ////////////////////// } else { if(dwResult==ERROR_NO_MORE_ITEMS) break; else return false; } } WNetCloseEnum(hEnum); return true;}//结束 一个窗体类继承的问题 如何实现迅雷那样的任务提示tab(s)? 大家有空能不能进来看一下这段代码啊! 怎样在一条sql查询语句中查询不同ID的记录? 一个关于模拟鼠标按键的问题(100分啦) 视图间的通讯 锁定桌面! 关于CArchive的问题 linux c 调用java webservice出错 soap.error=12 救命!!!莫名其妙的问题 一个非常非常简单不过的问题. VC能不能静态连接Delphi写的DLL?
如何得到与网上邻居一样的资源:定义:
// testreeDlg.h : header filebool EnumerateNet(CTreeCtrl *tre,HTREEITEM hRoot,LPNETRESOURCE lpNR, DWORD dwScope= RESOURCE_GLOBALNET, DWORD dwType=RESOURCETYPE_ANY);
CImageList cill1;//用于显示图片CTreeCtrl m_tre;//用于显示 与控件相对应//
// testreeDlg.cpp : implementation file
//调用:
CTestreeApp *pApp=(CTestreeApp *)AfxGetApp();
cill1.Create (16,16,ILC_COLOR,3,2);
cill1.Add (pApp->LoadIcon(IDI_ICON_INT1D));
cill1.Add (pApp->LoadIcon(IDI_ICON_INT2S));
cill1.Add (pApp->LoadIcon(IDI_ICON_INT3S));
m_tre.SetImageList (&cill1,TVSIL_NORMAL);
HTREEITEM hRoot;
BeginWaitCursor();
EnumerateNet(&m_tre,hRoot,0);
EndWaitCursor();
//函数:
bool CTestreeDlg::EnumerateNet(CTreeCtrl *tre,HTREEITEM hRoot,
LPNETRESOURCE lpNR,DWORD dwScope, DWORD dwType)
{
HANDLE hEnum=0;
HTREEITEM hcur;
DWORD dwRet = WNetOpenEnum(dwScope, dwType,0,lpNR,&hEnum);
if(dwRet!=NO_ERROR) return false; LPNETRESOURCE lpnrLocal; //有待实验
DWORD cbBuffer = 2048;
DWORD dwResult;
DWORD cEntries = 0xFFFFFFFF;
lpnrLocal = (LPNETRESOURCE)GlobalAlloc( GPTR, cbBuffer );
while(1)
{
dwResult=WNetEnumResource(hEnum,&cEntries,lpnrLocal,&cbBuffer);
if(dwResult==NO_ERROR)
{
//////////////////////
CString strname;
for(DWORD i=0; i <cEntries; i++ )
{
// 只搜索网络提供者为"Microsoft Network"的资源
switch( lpnrLocal[i].dwDisplayType )
{
case RESOURCEDISPLAYTYPE_NETWORK: // 整个网络
strname=lpnrLocal[i].lpRemoteName;
strname+="整个网络(*)";
hRoot=tre->InsertItem(strname,0,0);
if(!EnumerateNet(tre,hRoot,&lpnrLocal[i])) return false;
m_tre.Expand (hRoot,TVE_EXPAND);
break;
case RESOURCEDISPLAYTYPE_DOMAIN: // 工作组
strname=lpnrLocal[i].lpRemoteName;
strname+="--工作组";
hcur=tre->InsertItem (strname,1,1,hRoot);
if(!EnumerateNet(tre,hcur,&lpnrLocal[i])) return false;
m_tre.Expand (hcur,TVE_EXPAND);
break;
case RESOURCEDISPLAYTYPE_SERVER: // 计算机
strname=lpnrLocal[i].lpRemoteName;
strname=strname.Right (strlen(strname)-2);
tre->InsertItem (strname,2,2,hRoot);
break;
}
}
//////////////////////
}
else
{
if(dwResult==ERROR_NO_MORE_ITEMS) break;
else return false;
}
}
WNetCloseEnum(hEnum);
return true;
}
//结束