亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? netinfodlg.cpp

?? 查詢主機的相關(guān)信息。。如主機名。。主機IP。。網(wǎng)卡信息。。DNS信息等
?? CPP
字號:
// NetInfoDlg.cpp : 實現(xiàn)文件
//

#include "stdafx.h"
#include "NetInfo.h"
#include "NetInfoDlg.h"
#include "ScanDlg.h"
#include <Iphlpapi.h>				//用于支持獲取網(wǎng)卡信息的函數(shù)
#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CNetInfoDlg 對話框




CNetInfoDlg::CNetInfoDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CNetInfoDlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CNetInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TREE, m_treeCtrl);
DDX_Control(pDX, IDC_LIST, m_listCtrl);
	}

BEGIN_MESSAGE_MAP(CNetInfoDlg, CDialog)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
//	ON_NOTIFY(NM_CLICK, IDC_TREE, &CNetInfoDlg::OnNMClickTree)
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, &CNetInfoDlg::OnTvnSelchangedTree)
END_MESSAGE_MAP()


// CNetInfoDlg 消息處理程序

BOOL CNetInfoDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// 設(shè)置此對話框的圖標(biāo)。當(dāng)應(yīng)用程序主窗口不是對話框時,框架將自動
	//  執(zhí)行此操作
	SetIcon(m_hIcon, TRUE);			// 設(shè)置大圖標(biāo)
	SetIcon(m_hIcon, FALSE);		// 設(shè)置小圖標(biāo)

	// TODO: 在此添加額外的初始化代碼
//-------------------------------啟動Winsock----------------------------------------
	WORD wVersion=MAKEWORD(2,0);			//winsock版本號
	WSADATA wsData;							//版本信息
	
	//對Winsock DLL進行初始化,協(xié)商Winsock的版本支持并分配必要的資源
	int StartResult = WSAStartup(wVersion,&wsData);
	
	if(StartResult != 0)
	{
		//錯誤處理
		MessageBox("WSAStartup error");
	  
	}
	
	InitTree();				//初始化樹
	GetHostInfo();			//獲取主機信息
	GetAdapterInform();		//獲取適配器信息
	GetDnsInfo();			//獲取域名服務(wù)器相關(guān)信息
	return TRUE;  // 除非將焦點設(shè)置到控件,否則返回 TRUE
}

// 如果向?qū)υ捒蛱砑幼钚』粹o,則需要下面的代碼
//  來繪制該圖標(biāo)。對于使用文檔/視圖模型的 MFC 應(yīng)用程序,
//  這將由框架自動完成。

void CNetInfoDlg::OnPaint()
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 用于繪制的設(shè)備上下文

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

		// 使圖標(biāo)在工作矩形中居中
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// 繪制圖標(biāo)
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

//當(dāng)用戶拖動最小化窗口時系統(tǒng)調(diào)用此函數(shù)取得光標(biāo)顯示。
//
HCURSOR CNetInfoDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}


void CNetInfoDlg::InitTree(void)
{ 
      tRoot.hParent = TVI_ROOT;		//增加根項
      tRoot.hInsertAfter = TVI_LAST;	//在最后項之后
      tRoot.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//設(shè)屏蔽
      tRoot.item.pszText = "基本網(wǎng)絡(luò)應(yīng)用匯總";
      tRoot.item.lParam = 0;			//序號
      tRoot.item.iImage = 0;			//正常圖標(biāo)
      tRoot.item.iSelectedImage = 1;	//選中時圖標(biāo)
      hRoot = m_treeCtrl.InsertItem(&tRoot);//返回根項句柄
      
      tOne.hParent = hRoot;			//增加子項1
      tOne.hInsertAfter = TVI_LAST;	//在最后項之后
      tOne.item.lParam = 1;			//序號
      tOne.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//設(shè)屏蔽
      tOne.item.pszText = "獲取主機IP地址、子網(wǎng)掩碼和計算機名";			//選項值
      m_treeCtrl.InsertItem(&tOne);//插入項
      
      tTwo.hParent = hRoot;			//增加子項2
      tTwo.hInsertAfter = TVI_LAST;	//在最后項之后
      tTwo.item.lParam = 2;			//序號
      tTwo.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//設(shè)屏蔽
      tTwo.item.pszText = "獲取域名服務(wù)器、子網(wǎng)掩碼";
      m_treeCtrl.InsertItem(&tTwo);
      
      tThree.hParent = hRoot;			//增加子項3
      tThree.hInsertAfter = TVI_LAST;	//在最后項之后
      tThree.item.lParam = 3;			//序號
      tThree.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//設(shè)屏蔽
      tThree.item.pszText = "獲取網(wǎng)卡類型、網(wǎng)卡mac地址";
      m_treeCtrl.InsertItem(&tThree);
      
      tFour.hParent = hRoot;			//增加子項4
      tFour.hInsertAfter = TVI_LAST;	//在最后項之后
      tFour.item.lParam = 4;			//序號
      tFour.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;//設(shè)屏蔽
      tFour.item.pszText = "端口掃描";
      m_treeCtrl.InsertItem(&tFour);

}

void CNetInfoDlg::GetHostInfo(void)
{
	char * strHost = NULL;
	::gethostname(strHost,256);						//獲取主機名
	hostent *pHost = ::gethostbyname(strHost);		//通過主機名字取得主機信息
	m_hostname = pHost->h_name;				//取得主機名
	
	in_addr addr;							//定義一個IP地址
	for(int i = 0; ;i++) 
	{
		char *p = pHost->h_addr_list[i];	//p指向一個32位IP地址
		if(p == NULL) 
			{
				break;
			}
		memcpy(&addr.S_un.S_addr, p, pHost->h_length);
		m_hostip = ::inet_ntoa(addr);		//取得主機IP
	}	
}

void CNetInfoDlg::ShowHostInfo(void)
{
	//清空原有的list中的信息,因為有3列所有刪除3次
	m_listCtrl.DeleteAllItems();
	m_listCtrl.DeleteColumn(0);
	m_listCtrl.DeleteColumn(0);
	m_listCtrl.DeleteColumn(0);		
	
	//插入信息
	m_listCtrl.InsertColumn(0, "主機IP地址", 0, 110, 0);
	m_listCtrl.InsertColumn(1, "主機子網(wǎng)掩碼", 0, 100, 0);
	m_listCtrl.InsertColumn(2, "計算機名", 0, 100 ,0);
	m_listCtrl.InsertItem(0, m_hostip);
	m_listCtrl.SetItemText(0, 1, m_hostsub);
	m_listCtrl.SetItemText(0, 2, m_hostname);
	
}

void CNetInfoDlg::GetAdapterInform(void)
{
	//定義適配器
	PIP_ADAPTER_INFO pAdapterInfo;
	PIP_ADAPTER_INFO pAdapter = NULL;
	DWORD dwRetVal;							//用于接收返回值
	u_char mac[6];								//存儲mac地址	
	pAdapterInfo = (IP_ADAPTER_INFO*) malloc ( sizeof(IP_ADAPTER_INFO) );
	ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO);
	
	//分配存取適配器信息空間
	if (GetAdaptersInfo( pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW)
		{
			free(pAdapterInfo);
			pAdapterInfo = (IP_ADAPTER_INFO*) malloc (ulOutBufLen);
		}
		
	//獲取適配器信息	
	if ((dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen)) == NO_ERROR)
		{
			pAdapter = pAdapterInfo;			//賦值給臨時變量
			int i = 0;
			while(pAdapter && i < 5)						//如果還有其他適配器的話循環(huán)
				{
					m_hostsub = pAdapter->IpAddressList.IpMask.String;		//取得主機子網(wǎng)掩碼
		
					//mac地址相關(guān)
					memcpy(mac, pAdapter->Address, 6);
					u_char *a = mac;
					CString b,c,d,e,f,g;
					b.Format("%02X-",a[0]);
					c.Format("%02X-",a[1]);
					d.Format("%02X-",a[2]);
					e.Format("%02X-",a[3]);
					f.Format("%02X-",a[4]);
					g.Format("%02X", a[5]);	
					CString tmp = b + c + d + e;
					m_LocalMac[i] = b + c + d + e + f + g;		//獲取mac地址
					m_MacType[i] = pAdapter->Description;		//網(wǎng)卡類型
					i++;
					
					pAdapter = pAdapter->Next;
				}
		}
}

void CNetInfoDlg::GetDnsInfo()
{
   FIXED_INFO * FixedInfo;
   ULONG    ulOutBufLen;
   DWORD    dwRetVal;
   IP_ADDR_STRING * pIPAddr;				//存儲域名服務(wù)器信息結(jié)構(gòu)

   FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, sizeof( FIXED_INFO ) );
   ulOutBufLen = sizeof( FIXED_INFO );
   
   if( ERROR_BUFFER_OVERFLOW == GetNetworkParams( FixedInfo, &ulOutBufLen ) ) {
      GlobalFree( FixedInfo );
      FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, ulOutBufLen );
   }
	//判斷是否獲取成功
   if ( dwRetVal = GetNetworkParams( FixedInfo, &ulOutBufLen ) ) {
        MessageBox( "Call to GetNetworkParams failed.");
   }
   else {
	  int i = 0;
	  m_DnsIP[i] = FixedInfo ->DnsServerList.IpAddress.String;	//取得域名服務(wù)器IP
	  m_DnsSub[i] = m_hostsub;	//取得子網(wǎng)掩碼
	  i++;
      pIPAddr = FixedInfo -> DnsServerList.Next;
      while ( pIPAddr && i < 10 )						//讀取所有域名服務(wù)器
      {
         m_DnsIP[i] = pIPAddr->IpAddress.String;//IP
         m_DnsSub[i] = m_hostsub;				//子網(wǎng)掩碼
         i++;
         pIPAddr = pIPAddr ->Next;
      }
   }
}

void CNetInfoDlg::ShowMacInfo()
{
    //清空原有的list中的信息,因為有3列所有刪除3次
	m_listCtrl.DeleteAllItems();
	m_listCtrl.DeleteColumn(0);
	m_listCtrl.DeleteColumn(0);
	m_listCtrl.DeleteColumn(0);		
	int i = 0;
	
	//插入信息
	m_listCtrl.InsertColumn(0, "網(wǎng)卡類型", 0, 200, 0);
	m_listCtrl.InsertColumn(1, "網(wǎng)卡mac地址", 0, 120, 0);
	while(i < 5 && !m_LocalMac[i].IsEmpty())
	{
		m_listCtrl.InsertItem(0, m_MacType[i]);
		m_listCtrl.SetItemText(0, 1, m_LocalMac[i]);
		i++;
	}	
}

void CNetInfoDlg::ShowDnsInfo()
{
	//清空原有的list中的信息,因為有3列所有刪除3次
	m_listCtrl.DeleteAllItems();
	m_listCtrl.DeleteColumn(0);
	m_listCtrl.DeleteColumn(0);
	m_listCtrl.DeleteColumn(0);		
	
	int i = 0;
	
	//插入信息
	m_listCtrl.InsertColumn(0, "域名服務(wù)器IP", 0, 200, 0);
	m_listCtrl.InsertColumn(1, "子網(wǎng)掩碼", 0, 120, 0);
	while(i < 10 && !m_DnsIP[i].IsEmpty())
	{
		m_listCtrl.InsertItem(i, m_DnsIP[i]);
		m_listCtrl.SetItemText(i, 1, m_DnsSub[i]);
		i++;
	}
	}
void CNetInfoDlg::OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
	// TODO: 在此添加控件通知處理程序代碼
	*pResult = 0;
	HTREEITEM hSel=m_treeCtrl.GetSelectedItem();//取得選項句柄;
	long id=m_treeCtrl.GetItemData(hSel);      //取得數(shù)據(jù)項序號
	
	switch(id)	
	{	
	default:
			m_listCtrl.DeleteAllItems();
			m_listCtrl.DeleteColumn(0);
			m_listCtrl.DeleteColumn(0);
			m_listCtrl.DeleteColumn(0);
			break;
	
	case 1:	
			ShowHostInfo();					//顯示主機信息
			break;
			
	case 2:
			ShowDnsInfo();					//顯示域名服務(wù)器信息
			break;
			
	case 3:
			ShowMacInfo();					//顯示網(wǎng)卡信息	
			break;
			
	case 4:
			if(scanDlg.DoModal() == IDOK)	//彈出掃描對話框
			{
				;
			}
			break;	
	}
	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久a久久精品综合| 在线视频中文字幕一区二区| 亚洲黄色小说网站| 精品美女一区二区| 在线视频欧美精品| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 一本色道久久综合亚洲精品按摩| 日韩综合在线视频| 亚洲精品国产无天堂网2021 | 亚洲精品视频自拍| 欧美精品一区二区三区在线播放 | 不卡影院免费观看| 经典一区二区三区| 日韩不卡一区二区三区| 亚洲美女视频在线观看| 国产精品免费丝袜| 国产视频亚洲色图| 26uuu精品一区二区| 欧美一区二区三区播放老司机| 色婷婷亚洲综合| 成人三级在线视频| 国产一区二区三区四区五区美女| 亚洲综合激情另类小说区| 国产拍欧美日韩视频二区| 欧美日韩夫妻久久| 欧美色综合网站| 91美女在线观看| 成人av午夜电影| 成人国产精品免费观看| 国产福利精品一区二区| 国模少妇一区二区三区| 美日韩一区二区三区| 污片在线观看一区二区| 亚洲第一狼人社区| 亚洲一区二区三区四区在线| 亚洲另类中文字| 亚洲欧美日本韩国| 亚洲卡通动漫在线| 亚洲另类在线一区| 午夜精品免费在线| 男人的j进女人的j一区| 青青草国产精品亚洲专区无| 日韩国产一二三区| 久久成人麻豆午夜电影| 激情综合五月天| 国产综合久久久久影院| 国产精品99久久久久| 成人激情文学综合网| 9人人澡人人爽人人精品| gogogo免费视频观看亚洲一| 91小视频免费观看| 色婷婷综合久久久| 欧美日韩mp4| 欧美成人艳星乳罩| 国产日韩精品视频一区| 国产精品久久久久影院老司| 日韩理论片中文av| 夜夜爽夜夜爽精品视频| 偷拍自拍另类欧美| 国内精品写真在线观看| k8久久久一区二区三区| 在线免费观看日本一区| 91精品国产高清一区二区三区 | 欧美日韩国产综合一区二区| 91精品欧美久久久久久动漫| 精品日韩欧美在线| 亚洲欧洲日本在线| 亚洲精品一卡二卡| 日本女人一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲色欲色欲www| 亚洲国产一区二区视频| 激情图片小说一区| 成人av影院在线| 欧美日韩高清在线| 久久久久综合网| 亚洲欧洲制服丝袜| 日本aⅴ亚洲精品中文乱码| 韩国v欧美v日本v亚洲v| 色又黄又爽网站www久久| 91精品一区二区三区久久久久久| 国产片一区二区| 同产精品九九九| 成人三级在线视频| 91精品一区二区三区在线观看| 久久精品亚洲精品国产欧美| 亚洲精品日产精品乱码不卡| 麻豆91精品91久久久的内涵| 97久久精品人人爽人人爽蜜臀 | 正在播放一区二区| 日本一区二区三区久久久久久久久不 | 亚洲最新在线观看| 国产成人在线免费| 欧美日韩国产影片| 国产精品精品国产色婷婷| 视频一区视频二区在线观看| 成人午夜在线播放| 91精品国产综合久久香蕉的特点 | 免费在线一区观看| 91网址在线看| 精品成人一区二区三区| 亚洲国产精品久久久久秋霞影院| 国产成人av自拍| 日韩区在线观看| 亚洲国产va精品久久久不卡综合 | 欧美日韩精品三区| 17c精品麻豆一区二区免费| 国产综合久久久久影院| 欧美一区二视频| 亚洲综合清纯丝袜自拍| 国产ts人妖一区二区| 日韩精品一区二区三区四区视频| 亚洲第四色夜色| 在线观看欧美精品| 日韩美女啊v在线免费观看| 国产精品一二三四五| 26uuu另类欧美亚洲曰本| 日韩高清在线观看| 欧美肥大bbwbbw高潮| 一区二区在线观看免费视频播放 | 欧美精品久久天天躁| 亚洲另类春色校园小说| 成人av在线资源网| 国产网站一区二区| 国产乱子伦一区二区三区国色天香| 91麻豆精品国产91久久久久久久久| 亚洲一区二区三区精品在线| 9色porny自拍视频一区二区| 538在线一区二区精品国产| 亚洲综合成人网| 成人精品一区二区三区中文字幕| 精品福利一区二区三区免费视频| 亚洲综合丝袜美腿| 91成人免费电影| 一区二区三区精品| 91在线观看视频| 亚洲激情网站免费观看| 99re成人在线| 一区二区三区在线视频免费 | 蜜臀久久久久久久| 日韩一区二区精品在线观看| 亚洲精品成a人| 欧美三级在线视频| 香蕉加勒比综合久久| 欧美日本国产视频| 蜜臀久久99精品久久久久久9| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品久久久久久久久免费丝袜| 丰满白嫩尤物一区二区| 国产午夜亚洲精品不卡| 成人一级黄色片| 国产精品视频一二三区| 一本色道久久综合狠狠躁的推荐 | 夜夜嗨av一区二区三区网页 | 日日摸夜夜添夜夜添精品视频| 欧美精品高清视频| 久久国产乱子精品免费女| 日韩精品专区在线影院观看| 国产乱码精品一区二区三区忘忧草| 久久这里都是精品| 成人av在线播放网站| 亚洲免费观看高清完整| 欧美一区午夜精品| 国产成人精品午夜视频免费| 欧美高清在线视频| 在线观看亚洲精品| 午夜婷婷国产麻豆精品| 精品国产a毛片| 成人免费黄色大片| 亚洲国产精品一区二区尤物区| 欧美日韩不卡一区| 国产一区欧美日韩| 一区二区三区产品免费精品久久75| 在线观看成人免费视频| 韩日欧美一区二区三区| 国产欧美日产一区| 欧美手机在线视频| 国产综合一区二区| 亚洲免费视频中文字幕| 日韩一区二区电影网| 国内不卡的二区三区中文字幕| 一区二区三区在线免费播放| 3atv一区二区三区| 91丝袜高跟美女视频| 狠狠色综合日日| 亚洲欧洲另类国产综合| 日韩欧美资源站| 成人黄色综合网站| 蜜臀久久99精品久久久久宅男| 日韩一区二区三免费高清| av电影在线观看完整版一区二区| 日韩av电影天堂| 国产亚洲一区二区三区在线观看 | 亚洲精品乱码久久久久久久久 | 欧美国产欧美综合| 欧美福利电影网| 91在线你懂得| 久久国产福利国产秒拍| 亚洲国产色一区| 国产精品无人区|