获取局域网的计算机名和IP
2012-10-13 22:09
411 查看
(1)创建一个基于对话框的应用程序
(2)在对话框的oninitdialog方法中添加代码
(3)运行程序,如图
注意要导入mpr.lib库和ws2_32.lib库,包含afxsock.h和winnetwk.h
(2)在对话框的oninitdialog方法中添加代码
WSADATA wsd; WSAStartup(MAKEWORD(2,2),&wsd); m_grid.SetExtendedStyle(LVS_EX_FLATSB |LVS_EX_FULLROWSELECT |LVS_EX_HEADERDRAGDROP |LVS_EX_ONECLICKACTIVATE |LVS_EX_GRIDLINES); m_grid.InsertColumn(0,"computer name",LVCFMT_LEFT,200,0); m_grid.InsertColumn(1,"IP Adress",LVCFMT_LEFT,200,0); DWORD Count=0xFFFFFFFF,Bufsize=4096,Res; NETRESOURCE* nRes; NETRESOURCE* nRes1; NETRESOURCE* nRes2; HANDLE lphEnum; LPVOID Buf=new char[4096]; LPVOID Buf1=new char[4096]; LPVOID Buf2=new char[4096]; Res=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,NULL,&lphEnum); Res=WNetEnumResource(lphEnum,&Count,Buf,&Bufsize); nRes=(NETRESOURCE*)Buf; for (DWORD n=0;n<Count;n++,nRes++) { DWORD Count1=0xFFFFFFFF; Res=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,nRes,&lphEnum); Res=WNetEnumResource(lphEnum,&Count1,Buf1,&Bufsize); nRes1=(NETRESOURCE*)Buf1; for (DWORD i=0;i<Count;i++,nRes1++) { DWORD Count2=0xFFFFFFFF; Res=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,nRes1,&lphEnum); Res=WNetEnumResource(lphEnum,&Count2,Buf2,&Bufsize); nRes2=(NETRESOURCE*)Buf2; for (DWORD j=0;j<Count2;j++,nRes2++) { m_grid.InsertItem(j,0); CString sName=nRes2->lpRemoteName; sName=sName.Right(sName.GetLength()-2); m_grid.SetItemText(j,0,sName); CString str=""; struct hostent *pHost; pHost=gethostbyname(sName); if (pHost==NULL) { m_grid.SetItemText(j,1,"fail to get IP Address"); } else { for (int n=0;n<4;n++) { CString addr; if (n>0) { str+=""; } addr.Format("%u",(unsigned int)((unsigned char*)pHost->h_addr_list[0]) ); str+=addr; } m_grid.SetItemText(j,1,str); } } } } delete Buf; delete Buf1; delete Buf2; WNetCloseEnum(lphEnum);
(3)运行程序,如图
注意要导入mpr.lib库和ws2_32.lib库,包含afxsock.h和winnetwk.h
相关文章推荐
- c#(WinForm)遍历局域网计算机(电脑)获取IP和计算机名称
- c# 遍历局域网计算机(电脑)获取IP和计算机名称
- c#(WinForm)遍历局域网计算机(电脑)获取IP和计算机名称(转)
- c#(WinForm)遍历局域网计算机(电脑)获取IP和计算机名称(转)
- 获取局域网计算机名称和IP
- 局域网内通过ip获取对方计算机名
- VB获取本地IP、计算机名、用户名代码
- 局域网通过ip查看对方计算机名,通过计算机名查看对方ip
- vc 获取计算机名 和 ip 地址
- python获取本机IP、mac地址、计算机名
- 【python】获取本机局域网IP并发送邮件到指定邮箱
- 利用ARP协议来获取局域网内活动主机的IP跟MAC地址
- IOS开发——获取局域网IP
- 通过js获取计算机内网ip,计算机名,mac地址
- C#获取本地计算机名,IP,MAC(物理)地址(转)
- JAVA获取计算机的IP、名称、操作系统等信息
- 查看局域网其他电脑的计算机名和IP
- C#获取本机局域网ip和公网ip
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- Java获取计算机的名称、IP、环境变量的配置信息