求一个 扫描局域网中的主机 的程序

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:53:46
1.是源程序,不是软件
2.程序语言不限
3.扫描结果记录在result.txt文本文件中,格式如下:
192.168.0.1
TCP:21,25,89
UDP:7,4123
192.168.0.2
N/A
192.168.0.3
TCP:80

完成第三点的给100分额外奖励

#include "winnetwk.h"
CStringArray MyList;
MyList.RemoveAll();
CString StrTemp;
struct hostent *host;
struct in_addr *ptr;
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];
//调用WSAStartup后调用WNetEnumResource做进一步的搜索工作
WNetEnumResource( hEnum, &Count, Buffer, &BufferSize );
NetResource = (NETRESOURCE*)Buffer;
char StrHostName[200];
for ( unsigned int i = 0; i < BufferSize/sizeof(NETRESOURCE); i++, NetResource++ )
{
if ( NetResource->dwUsage == RESOURCEUSAGE_CONTAINER && NetResource->dwType == RESOURCETYPE_ANY ) {
if ( NetResource->lpRemoteN