| 查看: 175 | 回复: 0 | |||
| 当前主题已经存档。 | |||
zsglly木虫 (著名写手)
|
[交流]
激活当前屏幕保护及获取网上计算机名及其IP地址
|
||
|
1. 如何激活当前屏幕保护程序 // 激活当前屏幕保护程序 PostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0); 2. 如何获取局域网上计算机名及它们的IP地址 l 连接ws2_32.lib和 mpr.lib库 l #include winsock2.h CString strTemp; struct hostent *host; struct in_addr *ptr; // 检索IP地址 DWORD dwScope = RESOURCE_CONTEXT; NETRESOURCE *NetResource = NULL; HANDLE hEnum; WNetOpenEnum( dwScope, NULL, NULL, NULL, &hEnum ); WSADATA wsaData; WSAStartup(MAKEWORD(1,1),&wsaData); if ( hEnum ) { DWORD Count = 0xFFFFFFFF; DWORD BufferSize = 2048; LPVOID Buffer = new char[2048]; WNetEnumResource( hEnum, &Count, Buffer, &BufferSize ); NetResource = (NETRESOURCE*)Buffer; char szHostName[200]; unsigned int i; for ( i = 0; i < BufferSize/sizeof(NETRESOURCE); i++, NetResource++ ) { if ( NetResource->dwUsage == RESOURCEUSAGE_CONTAINER && NetResource->dwType == RESOURCETYPE_ANY ) { if ( NetResource->lpRemoteName ) { CString strFullName = NetResource->lpRemoteName; if ( 0 == strFullName.Left(2).Compare("\\\\" ) strFullName = strFullName.Right( strFullName.GetLength()-2); gethostname( szHostName, strlen( szHostName ) ); host = gethostbyname(strFullName); if(host == NULL) continue; ptr = (struct in_addr *) host->h_addr_list[0]; // =. 分隔开IP:211.40.35.76. int a = ptr->S_un.S_un_b.s_b1; // 211 int b = ptr->S_un.S_un_b.s_b2; // 40 int c = ptr->S_un.S_un_b.s_b3; // 35 int d = ptr->S_un.S_un_b.s_b4; // 76 strTemp.Format("%s --> %d.%d.%d.%d", strFullName,a,b,c,d); AfxMessageBox(strTemp); } } } delete Buffer; WNetCloseEnum( hEnum ); } WSACleanup(); [ Last edited by 幻影无痕 on 2006-11-27 at 08:17 ] |
» 猜你喜欢
实名举报:华南理工大学物理与光电学院副院长李志远婚内两次出轨女学生(博士)
已经有8人回复
现代”学阀”该如何界定
已经有7人回复
各位大神,目前国内有哪些比较好用的逆合成软件?
已经有12人回复
我的奶奶
已经有3人回复
申博发邮件
已经有10人回复
国社科系统bug了,是不是要放榜了?
已经有9人回复
上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告
已经有8人回复
上海工程技术大学激光智能制造课题组招收博士研究生
已经有8人回复











)
回复此楼