📄 subject_18748.htm
字号:
<p>
序号:18748 发表者:lijianhua 发表日期:2002-10-23 11:43:13
<br>主题:如何获得局域网内部所有的计算机名称。求教
<br>内容:请详细说明。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:徐景周 回复日期:2002-10-23 11:44:54
<br>内容:20. 如何获取局域网上计算机名及它们的IP地址<BR>l 连接ws2_32.lib和 mpr.lib库<BR>l #include winsock2.h<BR>CString strTemp;<BR>struct hostent *host;<BR><BR>struct in_addr *ptr; // 检索IP地址 <BR><BR>DWORD dwScope = RESOURCE_CONTEXT;<BR>NETRESOURCE *NetResource = NULL;<BR>HANDLE hEnum;<BR>WNetOpenEnum( dwScope, NULL, NULL, <BR> NULL, &hEnum );<BR><BR>WSADATA wsaData;<BR>WSAStartup(MAKEWORD(1,1),&wsaData);<BR><BR>if ( hEnum )<BR>{<BR> DWORD Count = 0xFFFFFFFF;<BR> DWORD BufferSize = 2048;<BR> LPVOID Buffer = new char[2048];<BR> WNetEnumResource( hEnum, &Count, <BR> Buffer, &BufferSize );<BR> NetResource = (NETRESOURCE*)Buffer;<BR><BR> char szHostName[200];<BR> unsigned int i;<BR><BR> for ( i = 0; <BR> i < BufferSize/sizeof(NETRESOURCE); <BR> i++, NetResource++ )<BR> {<BR> if ( NetResource->dwUsage == <BR> RESOURCEUSAGE_CONTAINER && <BR> NetResource->dwType == <BR> RESOURCETYPE_ANY )<BR> {<BR> if ( NetResource->lpRemoteName )<BR> {<BR> CString strFullName = <BR> NetResource->lpRemoteName;<BR> if ( 0 == <BR> strFullName.Left(2).Compare("\\\\") ) <BR> strFullName = <BR> strFullName.Right(<BR> strFullName.GetLength()-2);<BR><BR> gethostname( szHostName, <BR> strlen( szHostName ) );<BR> host = gethostbyname(strFullName);<BR><BR> if(host == NULL) continue; <BR> ptr = (struct in_addr *) <BR> host->h_addr_list[0]; <BR><BR> // =. 分隔开IP:211.40.35.76. <BR> int a = ptr->S_un.S_un_b.s_b1; // 211 <BR> int b = ptr->S_un.S_un_b.s_b2; // 40<BR> int c = ptr->S_un.S_un_b.s_b3; // 35<BR> int d = ptr->S_un.S_un_b.s_b4; // 76<BR><BR> strTemp.Format("%s --> %d.%d.%d.%d",<BR> strFullName,a,b,c,d);<BR> AfxMessageBox(strTemp);<BR> }<BR> }<BR> }<BR><BR> delete Buffer;<BR> WNetCloseEnum( hEnum ); <BR>}<BR><BR>WSACleanup();<BR><BR>参看:<BR>http://www.copathway.com/itbookreview/view_paper.asp?paper_id=363<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小不点 回复日期:2003-02-09 10:07:23
<br>内容:徐景周大哥,为什么这个程序只能列举一部分IP地址?其余的我在“网上邻居”<BR>上能看见,但是没有显示出来,特别是使用汉字命名的计算机看不到。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -