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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ipaddressdlg.cpp

?? 通過MFC來獲取本地計算機IP地址的c++源碼
?? CPP
字號:
// IPAddressDlg.cpp : implementation file
//

#include "stdafx.h"
#include "IPAddress.h"
#include "IPAddressDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#include <winsock2.h>

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CIPAddressDlg dialog

CIPAddressDlg::CIPAddressDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CIPAddressDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CIPAddressDlg)
	m_sHostName = _T("");
	m_sIPAddress = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CIPAddressDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CIPAddressDlg)
	DDX_Text(pDX, IDC_HOSTNAME, m_sHostName);
	DDX_Text(pDX, IDC_IPADDRESS, m_sIPAddress);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CIPAddressDlg, CDialog)
	//{{AFX_MSG_MAP(CIPAddressDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CIPAddressDlg message handlers

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

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	int nRetCode;
	
	nRetCode = StartUp();
	TRACE1("StartUp RetCode: %d\n", nRetCode);

	nRetCode = GetLocalHostName(m_sHostName);
	TRACE1("GetLocalHostName RetCode: %d\n", nRetCode);

	nRetCode = GetIPAddress(m_sHostName, m_sIPAddress);
	TRACE1("GetIPAddress RetCode: %d\n", nRetCode);

	nRetCode = CleanUp();
	TRACE1("CleanUp RetCode: %d\n", nRetCode);

	UpdateData(FALSE);
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CIPAddressDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CIPAddressDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		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;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CIPAddressDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}


/////////////////////////////////////////////////////////////////////////////
// CIPAddressDlg protected methods

int CIPAddressDlg::StartUp()
{
	WORD    wVersionRequested;
	WSADATA wsaData;
	int     err; 
	
	wVersionRequested = MAKEWORD( 2, 0 ); 
	err = WSAStartup( wVersionRequested, &wsaData );
	if ( err != 0 ) {
		// Couldn't find a usable WinSock DLL.                                  */    
		return err;
	} 

	// Confirm that the WinSock DLL supports 2.0.
	// Note that if the DLL supports versions greater
	// than 2.0 in addition to 2.0, it will still return
	// 2.0 in wVersion since that is the version we
	// requested. 
	if ( LOBYTE( wsaData.wVersion ) != 2 ||
        HIBYTE( wsaData.wVersion ) != 0 ) {
		// Couldn't find a usable WinSock DLL.
		WSACleanup( );
		return WSAVERNOTSUPPORTED; 
	} 
	
	// The WinSock DLL is acceptable
	return 0;
}


int CIPAddressDlg::CleanUp()
{
	int nRetCode;

	nRetCode = WSACleanup();
	if (nRetCode != 0) {
		// An error occured. 
		return WSAGetLastError();
	}

	return 0; 
}


int CIPAddressDlg::GetLocalHostName(CString& sHostName)
{

	char szHostName[256];
	int  nRetCode;

	nRetCode = gethostname(szHostName, sizeof(szHostName));

	if (nRetCode != 0) {
		// An error has occurred
		sHostName = _T("Not available");;
		return WSAGetLastError();
	}

	sHostName = szHostName;
	return 0;
}


int CIPAddressDlg::GetIPAddress(const CString& sHostName, CString& sIPAddress)
{
	struct hostent FAR *lpHostEnt = gethostbyname (sHostName);

	if (lpHostEnt == NULL) {
		// An error occurred. 
		sIPAddress = _T("");
		return WSAGetLastError();
	}

	LPSTR lpAddr = lpHostEnt->h_addr_list[0];
	if (lpAddr) {
		struct in_addr  inAddr;
		memmove (&inAddr, lpAddr, 4);
		sIPAddress = inet_ntoa (inAddr);
		if (sIPAddress.IsEmpty())
			sIPAddress = _T("Not available");
	}		
	
	return 0;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影精品一区二区| 国产视频一区二区三区在线观看| 欧美一三区三区四区免费在线看 | 视频在线观看一区| 国产乱码精品一区二区三区av | 欧美吻胸吃奶大尺度电影 | 亚洲综合免费观看高清完整版在线 | 国产精品色婷婷久久58| 天天综合网 天天综合色| 99精品国产视频| 久久免费看少妇高潮| 亚洲成人手机在线| av午夜一区麻豆| 亚洲国产精品精华液ab| 免费观看一级特黄欧美大片| 欧美性大战xxxxx久久久| 国产精品久久福利| 国产精品白丝av| 欧美一区二区免费| 五月天中文字幕一区二区| 91麻豆.com| 又紧又大又爽精品一区二区| 成人免费毛片嘿嘿连载视频| 精品成a人在线观看| 日韩精品每日更新| 91精品综合久久久久久| 天天av天天翘天天综合网| 在线亚洲+欧美+日本专区| 亚洲欧美自拍偷拍色图| av电影一区二区| 中文字幕一区日韩精品欧美| 成人免费毛片片v| 中文字幕一区二区三区在线观看| 国产成人av福利| 日本一区二区三级电影在线观看 | 国产老女人精品毛片久久| 欧美一二区视频| 日韩av中文字幕一区二区| 欧美三级在线播放| 午夜精品久久一牛影视| 9191精品国产综合久久久久久| 亚洲国产欧美在线| 91精品视频网| 狠狠狠色丁香婷婷综合激情| 欧美tickling网站挠脚心| 日本va欧美va欧美va精品| 日韩亚洲欧美在线| 久久国产精品区| 欧美激情一区在线观看| av在线不卡观看免费观看| 亚洲欧美一区二区三区极速播放 | 久久久www成人免费毛片麻豆 | 色综合网站在线| 18成人在线视频| 欧美精品亚洲二区| 精品亚洲国产成人av制服丝袜| 精品三级在线看| 风间由美中文字幕在线看视频国产欧美 | 亚洲男人天堂一区| 欧美日韩一级二级三级| 久久 天天综合| 中文字幕亚洲视频| 在线成人午夜影院| 丁香天五香天堂综合| 亚洲一线二线三线视频| 88在线观看91蜜桃国自产| 国产精品123区| 亚洲大片一区二区三区| 久久综合久久综合久久综合| 色综合中文字幕| 麻豆国产欧美一区二区三区| **性色生活片久久毛片| 在线播放一区二区三区| 粉嫩av一区二区三区在线播放| 亚洲综合一区在线| 久久久99免费| 欧美日韩高清不卡| www.亚洲人| 麻豆精品一二三| 亚洲美女在线国产| 久久九九影视网| 国产精品初高中害羞小美女文| 欧美日本国产一区| 北条麻妃一区二区三区| 视频精品一区二区| √…a在线天堂一区| 精品久久一区二区三区| 在线国产电影不卡| 成人美女视频在线观看18| 日本麻豆一区二区三区视频| 亚洲蜜臀av乱码久久精品蜜桃| 久久久高清一区二区三区| 91精品国产品国语在线不卡| 91蜜桃网址入口| 国产一区二区三区综合| 美腿丝袜亚洲综合| 午夜伦欧美伦电影理论片| 亚洲欧美日韩久久| 国产精品久久久久久久午夜片| 精品剧情在线观看| 日韩一区二区免费电影| 欧美日韩国产中文| 色国产综合视频| 色婷婷综合五月| av亚洲产国偷v产偷v自拍| 丁香婷婷综合色啪| 国产成人av电影在线| 国产精品一区二区三区四区| 热久久一区二区| 免费精品99久久国产综合精品| 午夜精品爽啪视频| 五月激情综合网| 婷婷久久综合九色综合绿巨人| 依依成人精品视频| 亚洲精品自拍动漫在线| 亚洲欧美电影院| 夜夜嗨av一区二区三区| 一区二区不卡在线播放 | 日韩一区欧美一区| 椎名由奈av一区二区三区| 中文字幕在线不卡视频| 国产精品―色哟哟| 亚洲欧美激情视频在线观看一区二区三区 | 99久久婷婷国产综合精品电影 | 日韩欧美第一区| 日韩三级免费观看| 精品动漫一区二区三区在线观看| 欧美刺激脚交jootjob| 337p粉嫩大胆噜噜噜噜噜91av | 成人18视频在线播放| 成人av免费在线| 色综合久久久久久久| 91久久香蕉国产日韩欧美9色| 欧美亚洲精品一区| 91精品蜜臀在线一区尤物| 欧美一区二区精品在线| 久久久久久毛片| 亚洲精品老司机| 日本成人超碰在线观看| 韩国v欧美v亚洲v日本v| 成人精品高清在线| 91蝌蚪porny| 欧美一区二区视频在线观看2020| 欧美一区二区日韩一区二区| 久久精品夜色噜噜亚洲a∨| 最近日韩中文字幕| 天堂久久久久va久久久久| 黄页网站大全一区二区| www..com久久爱| 91精品国产欧美一区二区成人| 国产亚洲午夜高清国产拍精品| 亚洲少妇最新在线视频| 免费成人性网站| 99精品国产91久久久久久| 欧美一级xxx| 亚洲天堂中文字幕| 美日韩一级片在线观看| 91麻豆福利精品推荐| 精品国产露脸精彩对白| 亚洲免费三区一区二区| 国产一区二区不卡老阿姨| 日本道精品一区二区三区| 久久亚洲精品小早川怜子| 亚洲综合色视频| 成人性视频免费网站| 91麻豆精品国产综合久久久久久| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品家庭影院| 久久成人麻豆午夜电影| 日本韩国一区二区三区视频| 国产亚洲午夜高清国产拍精品 | 亚洲国产精品久久艾草纯爱 | 国内久久精品视频| 欧美午夜影院一区| 国产精品毛片高清在线完整版| 日韩av电影一区| 91福利区一区二区三区| 欧美激情一区二区| 精品一区二区三区免费| 欧美亚州韩日在线看免费版国语版| 国产午夜亚洲精品午夜鲁丝片| 视频一区二区不卡| 欧美色图天堂网| 亚洲欧美日韩国产成人精品影院| 国产一区不卡在线| 制服丝袜亚洲播放| 亚洲综合视频在线| 在线视频国产一区| 中文字幕一区二区三区在线不卡 | 美女一区二区视频| 欧美天堂一区二区三区| 亚洲免费观看视频| 色呦呦网站一区| 亚洲视频资源在线| 成人激情电影免费在线观看| 久久精品一级爱片| 高清在线成人网| 国产精品色哟哟| 91免费在线视频观看| 亚洲欧美综合在线精品|