当前位置: 首页 > news >正文

呼伦贝尔市网站建设_网站建设公司_Figma_seo优化

网站菜单分类怎么做,做网站学完html,菏泽市住房和城乡建设局网站,wordpress怎么在虚拟主机上搭建在Windows系统中#xff0c;通过网络邻居可以方便地查看本地网络中的共享资源和计算机。通过使用Windows API中的一些网络相关函数#xff0c;我们可以实现枚举网络邻居信息的功能#xff0c;获取连接到本地网络的其他计算机的相关信息。本文将介绍一个简单的C程序#xff…在Windows系统中通过网络邻居可以方便地查看本地网络中的共享资源和计算机。通过使用Windows API中的一些网络相关函数我们可以实现枚举网络邻居信息的功能获取连接到本地网络的其他计算机的相关信息。本文将介绍一个简单的C程序使用Windows API枚举网络邻居信息并获取对端名称、本机名称、主机名称以及主机IP等信息。 引言 首先我们需要了解一下几个与网络邻居信息有关的Windows API函数 NETRESOURCE 结构体是 Windows 网络 API 中的一个结构体用于描述网络资源的信息。它在网络资源的枚举和连接等操作中经常被使用。 结构体定义 typedef struct _NETRESOURCE {DWORD dwScope;DWORD dwType;DWORD dwDisplayType;DWORD dwUsage;LPTSTR lpLocalName;LPTSTR lpRemoteName;LPTSTR lpComment;LPTSTR lpProvider; } NETRESOURCE, *LPNETRESOURCE;结构体成员 dwScope指定资源的可见性。可能的取值为 RESOURCE_CONNECTED表示已连接的资源。RESOURCE_CONTEXT表示会话特定的资源。 dwType指定资源的类型。可能的取值为 RESOURCETYPE_ANY表示任何类型的资源。RESOURCETYPE_DISK表示磁盘资源。RESOURCETYPE_PRINT表示打印机资源。 dwDisplayType指定资源的显示类型。可能的取值为 RESOURCEDISPLAYTYPE_GENERIC表示通用资源。RESOURCEDISPLAYTYPE_DOMAIN表示域。 dwUsage指定资源的使用类型。可能的取值为 RESOURCEUSAGE_CONNECTABLE表示资源可以连接。RESOURCEUSAGE_CONTAINER表示资源是一个容器可以包含其他资源。 lpLocalName指定本地驱动器或打印机的本地名称。lpRemoteName指定远程共享资源的网络名称。lpComment指定资源的注释。lpProvider指定提供资源的网络提供程序的名称。 WNetOpenEnum 是 Windows 网络功能中的一个API函数WNetOpenEnum 通过指定的参数打开一个用于列举网络资源的枚举句柄。这个句柄可以在后续的操作中用于获取网络资源的枚举信息。 函数原型 DWORD WNetOpenEnum(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCE lpNetResource,LPHANDLE lphEnum );参数说明 dwScope指定枚举的范围可以是 RESOURCE_CONNECTED、RESOURCE_GLOBALNET、RESOURCE_REMEMBERED、RESOURCE_CONTEXT 中的一个。dwType指定枚举资源的类型可以是 RESOURCETYPE_DISK、RESOURCETYPE_PRINT、RESOURCETYPE_ANY 中的一个。dwUsage指定枚举资源的使用类型可以是 RESOURCEUSAGE_CONNECTABLE、RESOURCEUSAGE_CONTAINER、RESOURCEUSAGE_NOLOCALDEVICE、RESOURCEUSAGE_SIBLING 中的一个。lpNetResource指向 NETRESOURCE 结构的指针用于指定枚举的起始位置。如果为 NULL则从所有资源的最顶层开始枚举。lphEnum指向句柄的指针用于接收枚举句柄。 返回值 如果函数调用成功返回 NO_ERROR否则返回一个错误代码可以通过 GetLastError 函数获取详细信息。 WNetEnumResource 是 Windows 网络功能中的 API 函数之一用于通过枚举句柄获取网络资源的详细信息包括资源的类型、用途、本地名、远程名等信息。 函数原型 DWORD WNetEnumResource(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize );参数说明 hEnum枚举句柄通过 WNetOpenEnum 函数获取的句柄。lpcCount指向一个变量的指针该变量用于接收枚举的资源数目。lpBuffer指向一个缓冲区的指针用于接收枚举的资源信息。lpBufferSize指向一个变量的指针该变量用于指定或接收缓冲区的大小。 返回值 如果函数调用成功返回 NO_ERROR否则返回一个错误代码可以通过 GetLastError 函数获取详细信息。 WNetCloseEnum 函数用于关闭由 WNetOpenEnum 函数打开的网络资源的枚举句柄。在使用 WNetOpenEnum 函数枚举网络资源后当不再需要使用枚举句柄时应该通过调用 WNetCloseEnum 函数来释放资源避免内存泄漏。 函数定义 DWORD WNetCloseEnum(HANDLE hEnum );参数 hEnum网络资源的枚举句柄该句柄是由 WNetOpenEnum 函数返回的。 返回值 如果函数调用成功返回 NO_ERROR否则返回错误代码可以通过 GetLastError 函数获取详细的错误信息。 代码实现 以下是一个简单的C程序使用上述API函数实现了枚举网络邻居信息的功能。该程序通过遍历枚举得到的网络资源信息获取对端名称、本机名称、主机名称以及主机IP等信息并输出到控制台。 #include iostream #include Windows.h #include winnetwk.h#pragma comment(lib,Mpr.lib) #pragma comment(lib,Ws2_32.lib)// 枚举网络邻居 BOOL EnumNetResource() {NETRESOURCE *NetResource NULL;HANDLE hEnum;unsigned int i;char szHostName[MAX_PATH] { 0 };hostent *host NULL;char *lpszIP NULL;// 通过WSAStartup函数完成对Winsock服务的初始化WSADATA wsaData { 0 };WSAStartup(MAKEWORD(2, 2), wsaData);// 指定枚举范围, 获取枚举句柄WNetOpenEnum(RESOURCE_CONTEXT, NULL, NULL, NULL, hEnum);if (hEnum){DWORD Count 0xFFFFFFFF;DWORD BufferSize 2048;BYTE *pBuffer new BYTE[2048];// 根据设置的枚举返回, 获取枚举信息WNetEnumResource(hEnum, Count, pBuffer, BufferSize);NetResource (NETRESOURCE*)pBuffer;for (i 0; i BufferSize / sizeof(NETRESOURCE); i, NetResource){// 判断资源类型是否是所有资源 以及 判断资源使用类型是否是容器资源if (NetResource-dwUsage RESOURCEUSAGE_CONTAINER NetResource-dwType RESOURCETYPE_ANY){if (NetResource-lpRemoteName){// 获取远程主机名RtlZeroMemory(szHostName, MAX_PATH);lstrcpy(szHostName, (char *)((DWORD64)NetResource-lpRemoteName 2));// 根据主机名获取IP地址信息host gethostbyname(szHostName);if (host NULL){std::cout 错误代码 std::endl;continue;}// 将Ipv4网络地址转换为Internet标准点分十进制格式的ASCII字符串lpszIP inet_ntoa(*(in_addr *)host-h_addr_list[0]);std::cout 对端名称: NetResource-lpRemoteName 本机名称: NetResource-lpLocalName 主机名称: szHostName 主机IP: lpszIP std::endl;}}}// 释放内存并关闭句柄delete[]pBuffer;pBuffer NULL;WNetCloseEnum(hEnum);}return TRUE; }int main(int argc, char *argv[]) {EnumNetResource();system(pause);return 0; }结语 通过这个简单的程序我们可以了解如何使用Windows API函数来枚举网络邻居信息。这对于需要在程序中获取网络中其他计算机信息的场景是非常有用的。在实际应用中可以根据需要进一步扩展和优化代码以满足特定的功能需求。
http://www.lebaoying.cn/news/95402.html

相关文章:

  • 中国最大的中文网站企业主页的特点包括
  • 开发软件下载网站网站上传虚拟主机
  • 手机网站报名链接怎么做WordPress修改图片信息
  • 北京市企业网站建设那家做网站好
  • 网站开发环境有什么wordpress远程附件代码
  • 如何查看网站建设的时间网站导航插件
  • 网站建设公司龙头马拉松网站建设
  • 网站设计深圳公司会宁县建设局网站
  • 淘宝客网站建站win7怎么做网站域名绑定
  • 辽宁省城乡住房建设厅网站小7手游官网下载
  • 开网站开发公司网站建设公司大全
  • 沈阳正规制作网站公司网站设计培训哪里好
  • 7k7k网页游戏入口医药类网站怎么做seo
  • nofollow外链对于网站有提升吗wordpress死链自动提交
  • 网站开发实验室建设方案室内设计软件大全网站
  • 网站 维护费用三亚网址之家
  • 环保材料东莞网站建设网站快备案
  • ui设计在哪个网站可以接做外贸网络推广公司排名
  • 有哪些熟悉的网站是jsp做的网站开发适配
  • 定制网站对公司有什么好处做的网站提示不安全问题
  • 定制化网站开发多少钱深圳营销型网站建设-龙华信科
  • 国外做网站的公司做网站前台要学什么课程
  • 龙华网站设计公司一站式做网站公司
  • 山西建设执业注册中心网站网址域名查询网
  • php搭建网站后台wordpress 分类搜索
  • 网站套利怎么做赣州网页制作公司
  • 莆田的外贸网站品牌策划公司怎么样
  • 网站做视频在线观看网址上海公司网页设计
  • 郑州 网站 公司网站运营与管理的内容有哪些
  • 设计不错的网站网络设计的关键是什么