QQ登录

只需一步,快速开始

上位机MFC如何获得网上邻居

[ 复制链接 ]
这里使用了三个函数
  1. #include "IPHlpApi.h"
  2. #pragma comment(lib,"IPHLPAPI.LIB")
  3. #pragma comment(lib,"netapi32.lib ")
  4. #pragma comment(lib,"Mpr.lib")

  5. void CGkbc8Dlg::OnButton2()
  6. {
  7.         CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
  8.         pListBox->ResetContent();

  9.         EnumNet(NULL, 0);
  10. }
  11. void CGkbc8Dlg::EnumNet(NETRESOURCE* pResource, int nItem)
  12. {
  13.         HANDLE hEnum = NULL;

  14.         DWORD dwResult = 0;

  15.         //打开网上资源的枚举
  16.         dwResult = WNetOpenEnum(
  17.                 RESOURCE_GLOBALNET,
  18.                 RESOURCETYPE_ANY,       
  19.                 0,
  20.                 pResource,
  21.                 &hEnum);
  22.        
  23.         if (dwResult != NO_ERROR)
  24.         {
  25.                 return;
  26.         }

  27.         DWORD nCount = -1;
  28.         DWORD nSize = 16384;

  29.         pResource = (NETRESOURCE*)new BYTE[nSize];

  30.         do
  31.         {
  32.                 ZeroMemory(pResource, nSize);

  33.                 //枚举网上资源
  34.                 dwResult = WNetEnumResource(
  35.                         hEnum,
  36.                         &nCount,
  37.                         pResource,
  38.                         &nSize);

  39.                 if (dwResult == NO_ERROR)
  40.                 {
  41.                         for (UINT n = 0 ; n < nCount; n++)
  42.                         {
  43.                                 ShowNet(&pResource[n], nItem);
  44.                                
  45.                                 //如果网络资源是容器资源则递归调用枚举函数
  46.                                 if ((pResource[n].dwUsage &        RESOURCEUSAGE_CONTAINER)
  47.                                         == RESOURCEUSAGE_CONTAINER)
  48.                                 {
  49.                                         EnumNet(&pResource[n], nItem + 1);       
  50.                                 }
  51.                         }
  52.                 }
  53.                 else if(dwResult != ERROR_NO_MORE_ITEMS)
  54.                 {
  55.                         break;
  56.                 }
  57.         } while(dwResult != ERROR_NO_MORE_ITEMS);

  58.         delete[] pResource;

  59.         //关闭网上资源的枚举
  60.         WNetCloseEnum(hEnum);
  61. }

  62. void CGkbc8Dlg::ShowNet(NETRESOURCE* pResource, int nItem)
  63. {
  64.         CString strText = _T("");

  65.         strText += _T("");
  66.         strText += pResource->lpRemoteName;
  67.         strText += _T("");
  68.         strText += pResource->lpLocalName;
  69.         strText += _T("");
  70.         strText += pResource->lpComment;
  71.         strText += _T("");

  72.         for (int n = 0; n < nItem; n++)
  73.         {
  74.                 strText = _T("    ") + strText;
  75.         }
  76.        
  77.         CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
  78.         pListBox->AddString(strText);
  79. }
复制代码
OnButton2() 为按钮的点击函数,在函数内 依次调用了两个函数EnumNet,ShowNet。
IDC_LIST1为我们添加的列表框控件。

上位机MFC如何获得网上邻居

上位机MFC如何获得网上邻居

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC如何获得网上邻居.rar 
文件大小:169.22 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索