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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mainwnd.cpp

?? VC++網(wǎng)絡(luò)通信編程實(shí)例案例精選》源代碼 第三部分
?? CPP
字號(hào):
#include "MainWnd.h"
#include "WndProc.h"
#include "Server.h"
#include "Gdi.h"
#include "resource.h"

//引用到的外部全局變量
extern	"C"	SOCKET	Listen;
extern	"C"	HWND	hServerWnd;
extern	"C"	BOOL	fDIBitmap;
extern	"C"	struct	GdiList	GdiStart;
extern	"C"	struct	GdiList	*pGdiNode;
extern  "C" UINT    gPort;
// 線(xiàn)程變量
HANDLE	hThread;
DWORD	dwThreadId;

//因?yàn)镮P地址是一個(gè)全局信息,所以我們把它設(shè)置為CMainWnd的靜態(tài)變量
BYTE	CMainWnd::m_ip[4];

CMainWnd::CMainWnd()
{

}

CMainWnd::~CMainWnd()
{
	// 刪除自窗口自身的指針
	delete this;

	// 釋放全局區(qū)域的DIB
	ClearDisplay(m_hWnd);
}

// 設(shè)置程序Instance
void CMainWnd::SetInstance(HINSTANCE hInst)
{
	m_hInst = hInst;
}

// 處理WM_CREATE消息
BOOL CMainWnd::OnCreate(HWND hWnd,CREATESTRUCT FAR *lpCreateStruct)
{
	// 顯示主窗口
	lpCreateStruct->cx=400;
	lpCreateStruct->cy=600;
	lpCreateStruct->x=100;
	lpCreateStruct->y=100;

	ShowWindow(hWnd,*(LPINT)lpCreateStruct->lpCreateParams);
	
	m_hWnd = hWnd;

	m_hMenu = GetMenu(m_hWnd);
	EnableMenuItem(m_hMenu,IDM_STARTSERVER,MF_BYCOMMAND|MF_ENABLED);
	EnableMenuItem(m_hMenu,IDM_STOPSERVER,MF_BYCOMMAND|MF_GRAYED);
	
	// Winsock初始化的地方
	WSADATA				wsd;
	char				szString[255];
	char				name[20];

	// 裝入Winsock2.2版本
	if (WSAStartup(0x202,&wsd) != 0)
	{
		sprintf(szString,"Failed to load Winsock!");
		MessageBox(NULL,szString,"Remote Server",MB_OK);
		return 1;
	}
	//得到本機(jī)的IP地址
	GetLocalHostName(name);
	GetIpAddress(name,&m_ip[0],&m_ip[1],&m_ip[2],&m_ip[3]);
	return TRUE;
}

// 處理WM_DESTORY消息
void CMainWnd::OnDestroy(HWND hWnd)
{
	// 關(guān)閉監(jiān)聽(tīng)Socket
	closesocket(Listen);
	// 清除socket
	WSACleanup();
	// 發(fā)送結(jié)束消息到窗口
	PostMessage(hWnd,WM_QUIT,(WPARAM)0,0L);
}

// 處理WM_GETMINMAXINFO消息
void CMainWnd::OnGetMinMaxInfo(HWND hWnd,MINMAXINFO FAR* lpMinMaxInfo)
{
	RECT size;
	size.bottom=1000;
	size.top=100;
	size.left=100;
	size.right=1000;
	lpMinMaxInfo->ptMaxTrackSize.x = size.right-size.left;
	lpMinMaxInfo->ptMaxTrackSize.y = size.bottom-size.top;

	lpMinMaxInfo->ptMaxSize.x = size.right-size.left;
	lpMinMaxInfo->ptMaxSize.y = size.bottom-size.top;
}

// 處理WM_KEYDOWN消息
void CMainWnd::OnKeyDown(HWND hWnd,UINT vk,BOOL fDown,int cRepeat,UINT flags)
{
	if (vk == VK_ESCAPE || vk == VK_F12)
		PostMessage(hWnd,WM_CLOSE,0,0);
}
//對(duì)話(huà)框處理的回調(diào)函數(shù)
BOOL CALLBACK SettingItemProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) 
{ 
	BOOL b;
	char name[15];
    switch (message) 
    { 
	  case WM_INITDIALOG:
		  sprintf(name,"%d.%d.%d.%d",CMainWnd::m_ip[0],CMainWnd::m_ip[1],CMainWnd::m_ip[2],CMainWnd::m_ip[3]);
   	     ::SetDlgItemInt(hwndDlg,IDC_EDIT1,gPort,false);
		 ::SetDlgItemText(hwndDlg,IDC_IP,name);
			return TRUE;
        case WM_COMMAND: 
            switch (LOWORD(wParam)) 
            { 
                case IDOK: 
                  gPort=::GetDlgItemInt(hwndDlg, IDC_EDIT1,&b, false);                     
                case IDCANCEL: 
                    EndDialog(hwndDlg, wParam); 
                    return TRUE; 
            } 
    } 
    return FALSE; 
} 
//處理WM_COMMAND消息
void CMainWnd::OnCommand(HWND hWnd,int iId,HWND hWndCtl,UINT iCodeNotify)
{
	if (iId == IDM_EXIT)
	{
		//終結(jié)線(xiàn)程
		if (hThread)
		{
			//關(guān)閉監(jiān)聽(tīng)窗口
			closesocket(Listen);
			// 清除socket
			WSACleanup();
		}
		// 結(jié)束程序
		PostQuitMessage(0);
	}
	else if (iId == IDM_STARTSERVER)
	{
       if (DialogBox(this->m_hInst, 
                     MAKEINTRESOURCE(IDD_DIALOG), 
                     hWnd, (DLGPROC)SettingItemProc)==IDOK)
	   {
		ShowWindow(hWnd,SW_MINIMIZE);

		RedrawWindow(hWnd,NULL,NULL,RDW_ERASE|RDW_INVALIDATE);

		// 創(chuàng)建一個(gè)新的線(xiàn)程,LoadWinsock是在Server.c中定義的線(xiàn)程函數(shù)
		hThread = CreateThread(NULL,0,LoadWinsock,(LPVOID)NULL,0,&dwThreadId);
		if (hThread == NULL)
			MessageBox(hWnd,"Socket線(xiàn)程創(chuàng)建失敗","遠(yuǎn)程控制服務(wù)器端",MB_ICONEXCLAMATION|MB_OK);
		else
		{
			InitDisplay(hWnd);
			hServerWnd = hWnd;
			EnableMenuItem(m_hMenu,IDM_STARTSERVER,MF_BYCOMMAND|MF_GRAYED);
			EnableMenuItem(m_hMenu,IDM_STOPSERVER,MF_BYCOMMAND|MF_ENABLED);
		}
	   }
	}
	else if (iId == IDM_STOPSERVER)
	{
		if(MessageBox(hWnd,"你真的想關(guān)閉遠(yuǎn)程控制服務(wù)?","遠(yuǎn)程控制服務(wù)器端",MB_YESNO)==IDYES)
		{
			EnableMenuItem(m_hMenu,IDM_STARTSERVER,MF_BYCOMMAND|MF_ENABLED);
			EnableMenuItem(m_hMenu,IDM_STOPSERVER,MF_BYCOMMAND|MF_GRAYED);

			ClearDisplay(hWnd);

			// 終結(jié)線(xiàn)程
			if (hThread)
			{
				// 清除監(jiān)聽(tīng)窗口
				closesocket(Listen);
			}
		}
	}
	else if(iId==IDC_About)
	{
		MessageBox(hWnd,"2003-7-2創(chuàng)建\r\n一個(gè)遠(yuǎn)程控制的程序","遠(yuǎn)程控制服務(wù)器端",MB_OK);
	}
}
//獲得本地計(jì)算機(jī)名稱(chēng)
int CMainWnd::GetLocalHostName(char* sHostName)	
{
	char szHostName[256];
	int nRetCode;
	nRetCode=gethostname(szHostName,sizeof(szHostName));
	if(nRetCode!=0)
	{
		//產(chǎn)生錯(cuò)誤
		strcpy(sHostName,"沒(méi)有取得");
		return GetLastError();
	}
	strcpy(sHostName,szHostName);
	return 0;
}
//獲得本地IP
int CMainWnd::GetIpAddress(char *sHostName, char *sIpAddress)
{
	struct hostent FAR * lpHostEnt=gethostbyname(sHostName);
	if(lpHostEnt==NULL)
	{
		//產(chǎn)生錯(cuò)誤
		sIpAddress=NULL;
		return GetLastError();
	}
	//獲取IP
	LPSTR lpAddr=lpHostEnt->h_addr_list[0];
	if(lpAddr)
	{
		struct in_addr inAddr;
		memmove(&inAddr,lpAddr,4);
		//轉(zhuǎn)換為標(biāo)準(zhǔn)格式
		strcpy(sIpAddress,inet_ntoa(inAddr));
	}
	return 0;
}
//獲得本地IP
int CMainWnd::GetIpAddress(char *sHostName, BYTE *f0,BYTE *f1,BYTE *f2,BYTE *f3)
{
	struct hostent FAR * lpHostEnt=gethostbyname(sHostName);
	if(lpHostEnt==NULL)
	{
		//產(chǎn)生錯(cuò)誤
		f0=f1=f2=f3=0;
		return GetLastError();
	}
	//獲取IP
	LPSTR lpAddr=lpHostEnt->h_addr_list[0];
	if(lpAddr)
	{
		struct in_addr inAddr;
		memmove(&inAddr,lpAddr,4);
		*f0=inAddr.S_un.S_un_b.s_b1;
		*f1=inAddr.S_un.S_un_b.s_b2;
		*f2=inAddr.S_un.S_un_b.s_b3;
		*f3=inAddr.S_un.S_un_b.s_b4;
	}
	return 0;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷久久综合九色综合绿巨人| 日韩欧美国产精品一区| 亚洲福利视频一区二区| 久久视频一区二区| 欧美日韩高清在线| 国产ts人妖一区二区| 日韩专区一卡二卡| 久久五月婷婷丁香社区| 色诱亚洲精品久久久久久| 久久九九影视网| 欧美精品丝袜中出| 99久久精品免费看国产免费软件| 蜜桃久久久久久| 一区二区三区欧美日| 国产亚洲一区字幕| 欧美一区二区在线免费播放| 91蜜桃在线免费视频| 国产美女视频91| 91女厕偷拍女厕偷拍高清| 国产在线乱码一区二区三区| 午夜久久久久久久久| 亚洲视频免费看| 中文字幕va一区二区三区| 精品国产一二三| 欧美一区二区三区视频免费| 欧美日韩一二三| 色呦呦日韩精品| 99久久久国产精品| 成人免费va视频| 国产成人高清视频| 国产成人午夜99999| 久久福利视频一区二区| 国产精品99久久久| 国产欧美一区二区三区在线看蜜臀 | 色综合天天综合在线视频| 国产精品一区三区| 国产精品亚洲综合一区在线观看| 精品中文av资源站在线观看| 男人的天堂亚洲一区| 欧美喷水一区二区| 欧美视频日韩视频| 欧美揉bbbbb揉bbbbb| 在线播放欧美女士性生活| 欧美精品粉嫩高潮一区二区| 在线播放中文一区| 日韩午夜激情视频| 2021久久国产精品不只是精品| 欧美xxxxxxxxx| 久久九九国产精品| 国产精品午夜在线观看| 亚洲素人一区二区| 亚洲综合视频在线| 视频在线观看一区二区三区| 日本少妇一区二区| 韩国精品主播一区二区在线观看| 国产一级精品在线| 日韩视频在线一区二区| 亚洲免费在线观看视频| 国产iv一区二区三区| 国产成a人亚洲精品| 成年人国产精品| 91免费看`日韩一区二区| 在线看日本不卡| 91麻豆精品91久久久久久清纯| 欧美一卡在线观看| 久久免费的精品国产v∧| 欧美国产日韩一二三区| 亚洲精品成人悠悠色影视| 亚洲第一在线综合网站| 久久99久久久欧美国产| 成人性色生活片免费看爆迷你毛片| 99这里只有久久精品视频| 欧美日韩一区二区三区四区| 精品国产免费久久| 成人免费在线视频| 日韩国产一区二| 粉嫩欧美一区二区三区高清影视| 色综合久久中文综合久久牛| 欧美精品三级日韩久久| 久久精品视频网| 亚洲综合在线五月| 激情伊人五月天久久综合| 99久久精品国产麻豆演员表| 91麻豆精品91久久久久同性| 国产精品午夜春色av| 五月天丁香久久| 国产成人精品免费一区二区| 欧美亚洲综合久久| 国产网站一区二区| 日韩精品电影在线观看| 成人黄色777网| 日韩欧美三级在线| 亚洲人妖av一区二区| 精品综合久久久久久8888| 色偷偷久久一区二区三区| 蜜臀a∨国产成人精品| 不卡大黄网站免费看| 91精品国产91综合久久蜜臀| 中文字幕色av一区二区三区| 日本大胆欧美人术艺术动态| 色综合久久久久久久久| 国产喂奶挤奶一区二区三区| 日日摸夜夜添夜夜添国产精品| 成人黄色免费短视频| 精品精品国产高清a毛片牛牛| 亚洲精品免费在线观看| 国产精品一线二线三线精华| 欧美日韩国产高清一区二区| 国产精品久久久久久久久久久免费看| 视频一区视频二区中文| 色婷婷av一区二区三区大白胸| 国产偷v国产偷v亚洲高清| 人人超碰91尤物精品国产| 在线免费一区三区| 国产精品麻豆网站| 国产精品1区2区3区| 精品久久国产字幕高潮| 手机精品视频在线观看| 欧美在线999| 亚洲精品五月天| 波多野洁衣一区| 欧美国产精品一区| 国产99精品国产| 国产午夜精品一区二区三区视频| 麻豆国产欧美日韩综合精品二区| 欧美精品色一区二区三区| 亚洲一二三专区| 欧美三区在线观看| 亚洲一区二区中文在线| 在线视频亚洲一区| 亚洲精品高清视频在线观看| 91视频国产观看| 亚洲视频免费观看| 色综合久久中文综合久久牛| 自拍偷拍欧美精品| 91色porny蝌蚪| 亚洲另类中文字| 欧美做爰猛烈大尺度电影无法无天| 亚洲视频1区2区| 色综合色综合色综合色综合色综合| 国产精品拍天天在线| www.欧美.com| 亚洲特黄一级片| 色婷婷一区二区| 亚洲国产精品久久久久秋霞影院| 在线观看www91| 午夜精品成人在线视频| 91.麻豆视频| 精品一区二区在线播放| 久久婷婷久久一区二区三区| 国产99久久久国产精品潘金 | 不卡一区中文字幕| 亚洲日本一区二区| 欧美日韩国产高清一区二区三区 | 成人av网站在线观看| 亚洲视频每日更新| 欧美日韩一级片网站| 美女任你摸久久| 国产欧美精品一区| 久久久99精品久久| 99久久99久久久精品齐齐| 亚洲综合成人在线视频| 欧美一区二区三区视频免费| 国产一区二区在线看| 国产精品成人午夜| 欧美精品久久久久久久久老牛影院 | 91精品视频网| 国产在线一区二区| 亚洲免费观看高清完整| 538在线一区二区精品国产| 国内欧美视频一区二区| 中文字幕一区二区三区精华液 | 91久久精品网| 秋霞国产午夜精品免费视频| 久久精品视频免费| 欧美性猛片aaaaaaa做受| 久久精品国产一区二区三区免费看| 日本一区二区三区在线观看| 在线观看中文字幕不卡| 久久99精品一区二区三区三区| 中文字幕人成不卡一区| 欧美一区二区三区播放老司机| 高清国产午夜精品久久久久久| 亚洲小少妇裸体bbw| 久久嫩草精品久久久精品| 欧美伊人久久久久久久久影院| 韩国欧美国产一区| 亚洲午夜免费福利视频| 国产亚洲成年网址在线观看| 欧美私模裸体表演在线观看| 国产精品白丝av| 日韩主播视频在线| 一区在线观看免费| 精品sm在线观看| 欧美日韩视频在线第一区| 成人av资源站| 国模娜娜一区二区三区| 亚洲妇熟xx妇色黄| 亚洲天堂福利av| 欧美激情一二三区|