收藏 分享(赏)

VC++之网络通信技术之获取网上邻居new.doc

上传人:dreamzhangning 文档编号:2249847 上传时间:2018-09-07 格式:DOC 页数:7 大小:194KB
下载 相关 举报
VC++之网络通信技术之获取网上邻居new.doc_第1页
第1页 / 共7页
VC++之网络通信技术之获取网上邻居new.doc_第2页
第2页 / 共7页
VC++之网络通信技术之获取网上邻居new.doc_第3页
第3页 / 共7页
VC++之网络通信技术之获取网上邻居new.doc_第4页
第4页 / 共7页
VC++之网络通信技术之获取网上邻居new.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、一、创建对话框应用程序二、编辑对话框资源控件 ID及标题IDC_LIST1IDC_GETNEIGHBOR 获取网上邻居三、添加变量、函数1、添加变量2、添加消息响应函数3、添加类成员函数四、添加代码BOOL CGetNeighborDlg:Enumerate(LPNETRESOURCE lpNetRC_p, int depth)HANDLE hEnum = 0;DWORD dwScope = RESOURCE_GLOBALNET ;DWORD dwType = RESOURCETYPE_ANY ;DWORD dwResult = WNetOpenEnum(dwScope, / scope of

2、 enumerationdwType, / resource types to list0, / enumerate all resourceslpNetRC_p, / pointer to resource structure (NULL at first time)if( dwResult != NO_ERROR )return FALSE;DWORD dwBuffer = 16384 ; / 16K is reasonable sizeDWORD dwEntries = -1 ; /-1, enumerate all possible entriesLPNETRESOURCE lpnrL

3、ocal = 0;BOOL bRet = TRUE;do/ first allocate buffer for NETRESOURCE structures .lpnrLocal = (LPNETRESOURCE) GlobalAlloc( GPTR, dwBuffer ) ;dwResult = WNetEnumResource(hEnum, / resource-handleif( dwResult = NO_ERROR )for(DWORD i = 0 ; iAddString(nsname);if(depth=2) /userlistbox-AddString(“ “+nsname);

4、m_NeighborList.AddTail(nsname);m_List.AddTail(nsname+CString(depth);if( RESOURCEUSAGE_CONTAINER = (lpnrLocali.dwUsage /throw CNetworkBreak(FALSE);/ return FALSE; else if( dwResult != ERROR_NO_MORE_ITEMS ) return FALSE; while( dwResult != ERROR_NO_MORE_ITEMS );if( lpnrLocal )GlobalFree(HGLOBAL) lpnrL

5、ocal) ;WNetCloseEnum(hEnum) ;return bRet;void CGetNeighborDlg:OnGetneighbor() / TODO: Add your control notification handler code hereCListBox *listbox=(CListBox*)GetDlgItem(IDC_LIST1);listbox-ResetContent();BeginWaitCursor();EnableWindow(FALSE);Enumerate(0,0);EndWaitCursor();EnableWindow(TRUE);m_Lis

6、t.RemoveAll();m_NeighborList.RemoveAll(); 五、添加对象/库模块 点“工程”,点“设置”,点选“连接”,添加“MPR.LIB ws2_32.lib.”模块。六、编译七、运行七、函数说明1、WNetOpenEnum 函数声明DWORD WNetOpenEnum(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCE lpNetResource,LPHANDKE lphEnum)dwScope:指定列举范围。dwType:指定列举资源类型。dwUsage:指定列举资源用法。第一个参数 dwScope为RE

7、SOURCE_GLOBALNET,则该参数被勿略。lpNetResource:指向包含列举资源相关信息之 NETRESOURCE结构的指针。lphEnum:指向列举变量之句柄指针,为调用 WNetEnumResource()函数做准备。功能:开始一网络资源或存在的网络连接枚举值。成功则返回非零值;失败则返回 FALSE。2、WNetEnumResource 函数声明DWORD WNetEnumResource(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize)hEnum:WNetOpenEnum()函数返回的标

8、识某枚举实例之句柄。lpcCount:指定枚举条目数量。lpBuffer:指向取得枚举结果之缓冲区指针,用 NETRESOURCE结构数组表示。lpBufferSize:指定上述缓冲区大小。功能:获取详细网络资源信息。3、NETRESOURCE 结构定义typedef struct_NETRESOURCEDWORD dwScope; /指定列举范围DWORD dwType; /指定列举资源类型DWORD dwDisplayType; /表示网络浏览用户接口显示该网络实体之方式DWORD dwUsage; /指定列举资源用法DWORD dwScopeLocalname;DWORD dwRemoteName; /指向网络中远程计算机名DWORD dwComment;DWORD dwPrivider;NETRESOURCE4、WNetCloseEnum 函数声明DWORD WNetCloseEnum(HANDLE hEnum)hEnum:WNetCloseEnum()函数建造的枚举句柄。功能:结束网络资源枚举。成功则返回非零值;失败则返回FALSE。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报