1. 如何激活当前屏幕保护程序
// 激活当前屏幕保护程序, jingzhou xu
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; // 211int b = ptr->S_un.S_un_b.s_b2; // 40int c = ptr->S_un.S_un_b.s_b3; // 35int d = ptr->S_un.S_un_b.s_b4; // 76strTemp.Format("%s --> %d.%d.%d.%d",strFullName,a,b,c,d);AfxMessageBox(strTemp);}}}delete Buffer;WNetCloseEnum( hEnum );}WSACleanup();
联系方式:
地址:陕西省西安市劳动路2号院六单元
邮编:710082
作者EMAIL:
未来工作室(Future Studio)