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

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

?? cs_dlg.cpp

?? 比較詳盡的介紹了短信的發(fā)送與接收的實現(xiàn)模塊與程序
?? CPP
字號:

//
// cs_dlg.cpp : implementation file
//

#include "stdafx.h"
#include "commspy.h"
#include "cs_dlg.h"


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


#define IDM_RX WM_USER + 1000

static int CALLBACK MonitorCallback(HGLOBAL hBuf, int nLen, LPARAM lParam);



/////////////////////////////////////////////////////////////////////////////
// CCommspyDlg dialog

CCommspyDlg::CCommspyDlg(CWnd* pParent) : CDialog(IDD_COMMSPY_DIALOG, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}



void CCommspyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);

   if(!pDX->m_bSaveAndValidate)
   {
      LoadSettings();
      m_settings.nFormat -= IDC_HEX;
   }

   DDX_Control(pDX, IDC_FLOW, m_flow);
   DDX_Control(pDX, IDC_DISPLAY, m_display);
   DDX_CBIndex(pDX, IDC_PORT, m_settings.nPort);
   DDX_CBIndex(pDX, IDC_PARITY, m_settings.nParity);
   DDX_CBIndex(pDX, IDC_BAUD, m_settings.nBaud);
   DDX_CBIndex(pDX, IDC_DATA, m_settings.nData);
   DDX_CBIndex(pDX, IDC_STOP, m_settings.nStop);
   DDX_Radio(pDX, IDC_HEX, m_settings.nFormat);
   DDX_Check(pDX, IDC_ONTOP, m_settings.bOnTop);

   if(pDX->m_bSaveAndValidate)
   {
      m_settings.nFormat += IDC_HEX;
      m_settings.nFlow = 0;

      if(m_flow.GetCheck(0))
         m_settings.nFlow |= FC_DTRDSR;
      if(m_flow.GetCheck(1))
         m_settings.nFlow |= FC_RTSCTS;
      if(m_flow.GetCheck(2))
         m_settings.nFlow |= FC_XONXOFF;
   }
   else
   {
      m_flow.ResetContent();
      m_flow.AddString(_T("DTR/DSR"));
      m_flow.AddString(_T("RTS/CTS"));
      m_flow.AddString(_T("XON/XOFF"));

      if(m_settings.nFlow & FC_DTRDSR)
         m_flow.SetCheck(0, TRUE);
      if(m_settings.nFlow & FC_RTSCTS)
         m_flow.SetCheck(1, TRUE);
      if(m_settings.nFlow & FC_XONXOFF)
         m_flow.SetCheck(2, TRUE);
   }
}


BEGIN_MESSAGE_MAP(CCommspyDlg, CDialog)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
   ON_WM_CLOSE()
	ON_WM_QUERYDRAGICON()
   ON_BN_CLICKED(IDC_FONT, OnFont)
   ON_BN_CLICKED(IDC_START, OnStart)
   ON_BN_CLICKED(IDC_ONTOP, OnOnTop)
   ON_BN_CLICKED(IDC_CLEAR, OnClear)
   ON_WM_CTLCOLOR()
 	ON_CONTROL(CCN_SELCHANGE, IDC_COLOR_FG, OnFgColorChange)
 	ON_CONTROL(CCN_SELCHANGE, IDC_COLOR_BK, OnBkColorChange)
   ON_MESSAGE(IDM_RX, OnRX)
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CCommspyDlg message handlers

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

   m_fontDisplay.CreatePointFont(m_settings.nPointSize, m_settings.strFontName);
   m_display.SetFont(&m_fontDisplay);
   m_display.LimitText(LONG_MAX);

   m_display.GetWindowRect(&m_rectDisplayStop);
   ScreenToClient(&m_rectDisplayStop);

   m_rectDisplayStart = m_rectDisplayStop;
   CRect rectEdge;
   GetDlgItem(IDC_GROUP_DISPLAY)->GetWindowRect(&rectEdge);
   ScreenToClient(&rectEdge);
   m_rectDisplayStart.right = rectEdge.right;
   
   // update background color control
   CRect rect;
   CWnd *pWnd = GetDlgItem(IDC_COLOR_BK);
   pWnd->SetDlgCtrlID(0xffff);
   pWnd->GetWindowRect(rect);
   ScreenToClient(&rect);
   m_colorBK.SetColor(m_settings.clBK);
   m_colorBK.Create(WS_VISIBLE|WS_CHILD, rect, this, IDC_COLOR_BK);

   // update foreground color control
   pWnd = GetDlgItem(IDC_COLOR_FG);
   pWnd->GetWindowRect(rect);
   pWnd->SetDlgCtrlID(0xffff);
   ScreenToClient(&rect);
   m_colorFG.SetColor(m_settings.clFG);
   m_colorFG.Create(WS_VISIBLE|WS_CHILD, rect, this, IDC_COLOR_FG);

	// 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

   // reposition the window
   UINT nFlags = SWP_NOSIZE;
   CPoint pt(0,0);
   if(m_settings.dwPos == 0xFFFFFFFF)
      nFlags |= SWP_NOMOVE;
   else
      pt = CPoint(m_settings.dwPos); 

   const CWnd *pWndInsertAfter = NULL;
   if(m_settings.bOnTop)
      pWndInsertAfter = &wndTopMost;

   SetWindowPos(pWndInsertAfter, pt.x, pt.y, 0, 0, nFlags);

	return TRUE;  // return TRUE  unless you set the focus to a control
}



void CCommspyDlg::OnClose()
{
   if(m_comm.IsConnected() && !m_comm.Disconnect())
      return;

   UpdateData();

   CRect wr;
   GetWindowRect(&wr);
   m_settings.dwPos = MAKELPARAM(wr.left, wr.top);

   StoreSettings();

   CDialog::OnClose();
}




// 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 CCommspyDlg::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 CCommspyDlg::OnQueryDragIcon()
{
	return (HCURSOR)m_hIcon;
}



void CCommspyDlg::OnFont()
{
   CFontDialog dlg;

   if(dlg.DoModal() == IDOK)
   {
      m_fontDisplay.DeleteObject();

      m_settings.nPointSize = dlg.GetSize();
      m_settings.strFontName = dlg.GetFaceName();

      m_fontDisplay.CreatePointFont(m_settings.nPointSize, m_settings.strFontName);
      
      m_display.SetFont(&m_fontDisplay);
   }
}



int _nDataValues[] = {5,6,7,8};

int _nBaudRates[] = {CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400,
                     CBR_4800, CBR_9600, CBR_14400, CBR_19200,
                     CBR_38400, CBR_56000, CBR_57600, CBR_115200,
                     CBR_128000, CBR_256000};



void CCommspyDlg::OnStart()
{
   BOOL bDisconnect = m_comm.IsConnected();

   if(!bDisconnect)
   {
      UpdateData();

      // initialize tty info
      TTYSTRUCT tty;
      ZERO_MEMORY(tty);

      tty.byCommPort = (BYTE)m_settings.nPort;
      tty.byXonXoff = FALSE;
      tty.byByteSize = (BYTE)_nDataValues[m_settings.nData]; 
      tty.byFlowCtrl = (BYTE)m_settings.nFlow;;
      tty.byParity = (BYTE)m_settings.nParity;; 
      tty.byStopBits = (BYTE)m_settings.nStop;;
      tty.dwBaudRate = (DWORD)_nBaudRates[m_settings.nBaud];;

      if(m_comm.Connect(&tty))
      {
         ShowControls(SW_HIDE, &m_rectDisplayStart);

         // we're about to start up a thread...if we don't force all control
         // repaints before then, the display will repaint sluggishly
         MSG msg;
         while(PeekMessage(&msg, NULL, WM_PAINT, WM_PAINT, PM_NOREMOVE))
         {
            ::TranslateMessage(&msg);
            ::DispatchMessage(&msg);
         }

         // begin monitoring
         if(!m_comm.Monitor(&MonitorCallback, (LPARAM)m_hWnd))
         {
            bDisconnect = TRUE;
         }
      }  
      else
      {
         ReportLastError();
      }
   }
   
   if(bDisconnect)
   {
      m_comm.Disconnect();
      ShowControls(SW_SHOW, &m_rectDisplayStop);
   }
}





void CCommspyDlg::ShowControls(int nShow, CRect *pNewDisplayRect)
{
   int nControls[] = {IDC_COLOR_FG, IDC_COLOR_BK, IDC_BAUD, IDC_DATA, IDC_PARITY,
                      IDC_STOP, IDC_PORT, IDC_FONT, IDC_HEX, IDC_DECIMAL,
                      IDC_OCTAL, IDC_ASCII, IDC_ONTOP};

   int nCount = sizeof(nControls)/sizeof(nControls[0]);
   for(int i = 0; i < nCount; i++)
   {
      CWnd *pWnd = GetDlgItem(nControls[i]);
      if(pWnd)
         pWnd->ShowWindow(nShow);
   }

   if(pNewDisplayRect)
   {
      m_display.MoveWindow(pNewDisplayRect);
   }

   CString strStartStop(nShow == SW_SHOW ? _T("Start!") : _T("Stop!"));
   CWnd *pWnd = GetDlgItem(IDC_START);
   if(pWnd)
      pWnd->SetWindowText(strStartStop);
}




LRESULT CCommspyDlg::OnRX(WPARAM wLen, LPARAM hBuf)
{
   LPBYTE lpBuf = (LPBYTE)::GlobalLock((HGLOBAL)hBuf);
   if(!lpBuf)
      return 1;

   CString strOutput;

   if(m_settings.nFormat == IDC_ASCII)
   {
      strOutput = lpBuf;
   }
   else
   {
      CString strCvt;

      for(int i = 0; i < (int)wLen; i++)
      {
         switch(m_settings.nFormat)
         {
            case IDC_DECIMAL:
               strCvt.Format("%3d ", (BYTE)lpBuf[i]);
               break;
            case IDC_OCTAL:
               strCvt.Format("%3o ", (BYTE)lpBuf[i]);
               break;
            // hex
            default: 
               strCvt.Format("%02x ", (BYTE)lpBuf[i]);
               break;
         }

         strOutput += strCvt;
      }
   }

   strOutput += "\r\n";

   m_display.SetSel(0,0);
   m_display.ReplaceSel(strOutput);
   m_display.SetSel(0,0);

   ::GlobalUnlock((HGLOBAL)hBuf);
   return 1;
}



int CALLBACK MonitorCallback(HGLOBAL hBuf, int nLen, LPARAM lParam)
{
   HWND hDlg = (HWND)lParam;
   ::SendMessage(hDlg, IDM_RX, nLen, (LPARAM)hBuf);

   return 1;
}


void CCommspyDlg::OnOnTop()
{
   UpdateData();

   if(m_settings.bOnTop)
   {
      SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
   }
   else
   {
      SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOREDRAW);
      BringWindowToTop();
   }
}


void CCommspyDlg::OnClear()
{
   m_display.SetWindowText("");
}


HBRUSH CCommspyDlg::OnCtlColor(CDC* pDC, CWnd *pWnd, UINT nCtlColor)
{
   if(pWnd->m_hWnd == m_display.m_hWnd)
   {
      pDC->SetTextColor(m_settings.clFG);
      pDC->SetBkColor(m_settings.clBK);
   
      if(m_brushDisplay.m_hObject)
         m_brushDisplay.DeleteObject();

      m_brushDisplay.CreateSolidBrush(m_settings.clBK);
      return m_brushDisplay;
   }

   return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}


void CCommspyDlg::OnBkColorChange()
{
   m_settings.clBK = m_colorBK.GetColor();
   m_display.Invalidate();
}


void CCommspyDlg::OnFgColorChange()
{
   m_settings.clFG = m_colorFG.GetColor();
   m_display.Invalidate();
}


void CCommspyDlg::LoadSettings()
{
   CWinApp *pApp = AfxGetApp();

   m_settings.clBK = (COLORREF)pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_BKCOLOR, (int)RGB(0,0,255));
   m_settings.clFG = (COLORREF)pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_FGCOLOR, (int)RGB(0,255,255));
   m_settings.nPointSize = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_POINTSIZE, 90);
   m_settings.strFontName = pApp->GetProfileString(CS_REGKEY_SETTINGS, CS_REGENTRY_FACENAME, _T("Terminal"));
   m_settings.bOnTop = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_ONTOP, FALSE);

   m_settings.nPort = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_PORT, 1);
   m_settings.nParity = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_PARITY, 0);
   m_settings.nBaud = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_BAUD, 11);
   m_settings.nData = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_DATABITS, 3);
   m_settings.nStop = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_STOPBITS, 0);
   m_settings.nFlow = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_FLOW, 0);
   m_settings.nFormat = pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_FORMAT, IDC_HEX);
   m_settings.dwPos = (DWORD)pApp->GetProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_POS, 0xFFFFFFFF);
}



void CCommspyDlg::StoreSettings()
{
   CWinApp *pApp = AfxGetApp();

   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_BKCOLOR, (int)m_settings.clBK);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_FGCOLOR, (int)m_settings.clFG);

   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_POINTSIZE, (int)m_settings.nPointSize);
   pApp->WriteProfileString(CS_REGKEY_SETTINGS, CS_REGENTRY_FACENAME, m_settings.strFontName);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_ONTOP, m_settings.bOnTop);

   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_PORT, m_settings.nPort);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_PARITY, m_settings.nParity);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_BAUD, m_settings.nBaud);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_DATABITS, m_settings.nData);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_STOPBITS, m_settings.nStop);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_FLOW, m_settings.nFlow);

   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_FORMAT, m_settings.nFormat);
   pApp->WriteProfileInt(CS_REGKEY_SETTINGS, CS_REGENTRY_POS, m_settings.dwPos);
}

void CCommspyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
      CDialog dlg(IDD_ABOUTBOX);
      dlg.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}









?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产自产高清不卡| 亚洲国产欧美日韩另类综合| 韩国欧美国产一区| 久久女同性恋中文字幕| 国产99精品在线观看| 中文字幕av资源一区| 色综合久久久久久久久| 午夜伦理一区二区| 日韩美女视频在线| 成人激情动漫在线观看| 亚洲激情在线激情| 欧美一级二级三级乱码| 国产毛片精品一区| 亚洲精品中文字幕在线观看| 欧美日韩成人综合在线一区二区| 狂野欧美性猛交blacked| 国产日韩影视精品| 欧美日韩中文字幕一区二区| 美女视频一区在线观看| 国产精品入口麻豆原神| 欧美性极品少妇| 精品无码三级在线观看视频| 国产精品白丝在线| 欧美日韩日日摸| 国产高清无密码一区二区三区| 亚洲特黄一级片| 欧美一区二区三区成人| 99久久99久久精品免费观看| 婷婷中文字幕综合| 国产精品理论在线观看| 6080日韩午夜伦伦午夜伦| 国产精品123| 日韩精品一级二级| 中文字幕一区二区三区av| 日韩视频免费观看高清完整版| caoporen国产精品视频| 久久精品国产99国产| 1024亚洲合集| 337p日本欧洲亚洲大胆精品| 欧美私人免费视频| 成人av网站在线| 免费不卡在线观看| 亚洲国产毛片aaaaa无费看| 久久精品人人做人人爽97| 欧美日韩精品免费观看视频| av男人天堂一区| 久久精品国产久精国产爱| 亚洲综合一区二区| 国产精品电影院| 26uuu亚洲综合色欧美| 在线播放欧美女士性生活| 色综合欧美在线| 国产成人综合网| 精品中文字幕一区二区| 婷婷一区二区三区| 亚洲综合在线免费观看| 国产精品久久三| 久久久久久亚洲综合影院红桃| 欧美一区二区三区系列电影| 欧洲亚洲精品在线| 91免费视频网| 99视频精品在线| 成人动漫中文字幕| 大白屁股一区二区视频| 国产在线视视频有精品| 蜜桃在线一区二区三区| 视频一区二区三区入口| 午夜精品免费在线| 亚洲影院久久精品| 亚洲免费观看高清完整版在线观看 | 精品成人佐山爱一区二区| 欧美日韩精品一二三区| 欧美美女喷水视频| 欧美日韩精品一区视频| 欧美片在线播放| 欧美精品自拍偷拍| 欧美一区二区精美| 日韩女优av电影| www日韩大片| 国产天堂亚洲国产碰碰| 国产精品丝袜久久久久久app| 中文字幕精品一区二区三区精品| 国产人妖乱国产精品人妖| 欧美国产精品中文字幕| 中文字幕一区二区三区在线不卡| 亚洲欧美中日韩| 亚洲一区二区视频在线观看| 五月天亚洲婷婷| 久久激情综合网| 成人免费视频app| 99re在线精品| 欧美视频精品在线观看| 91精品国产一区二区三区香蕉 | 色综合一个色综合| 色综合咪咪久久| 7777女厕盗摄久久久| 久久免费看少妇高潮| 中文字幕一区二区在线观看| 一二三四区精品视频| 蜜臀久久久久久久| 成人综合激情网| 欧美亚洲综合另类| 精品免费国产二区三区 | wwwwxxxxx欧美| 一色桃子久久精品亚洲| 亚洲国产精品嫩草影院| 黄色日韩网站视频| 91碰在线视频| 欧美成人一区二区| 亚洲日本免费电影| 全部av―极品视觉盛宴亚洲| 国产一区二区视频在线| 一本色道久久综合精品竹菊| 欧美电影免费观看高清完整版| 国产三级三级三级精品8ⅰ区| 亚洲精品视频在线| 久久99精品国产.久久久久久| av不卡免费电影| 欧美一级精品在线| 亚洲久草在线视频| 狠狠色丁香婷婷综合| 欧美午夜精品久久久久久超碰| 欧美精品一区二区三区很污很色的 | 色婷婷av一区二区三区gif| 91精品蜜臀在线一区尤物| 国产亚洲综合色| 亚洲成人免费视| caoporn国产精品| 精品区一区二区| 亚洲国产美女搞黄色| 成人av先锋影音| 精品剧情在线观看| 视频在线观看一区二区三区| jlzzjlzz亚洲女人18| 久久先锋资源网| 日韩中文字幕不卡| 91黄视频在线| 国产精品久久一级| 国产成人午夜电影网| 欧美成人精品福利| 亚洲gay无套男同| 在线视频中文字幕一区二区| 国产欧美视频在线观看| 美女国产一区二区| 欧美妇女性影城| 夜夜嗨av一区二区三区中文字幕| 成人免费毛片片v| 久久久久久一级片| 国内久久婷婷综合| 欧美mv和日韩mv的网站| 免费人成黄页网站在线一区二区 | 偷拍日韩校园综合在线| 91高清在线观看| 亚洲欧洲国产日韩| 91丝袜美女网| 国产精品国产馆在线真实露脸| 国产精品影视天天线| 久久久九九九九| 国产精品99久久久久久久女警| 337p日本欧洲亚洲大胆精品 | 成人爱爱电影网址| 国产欧美久久久精品影院 | av亚洲精华国产精华| 久久影音资源网| 国产精品亚洲专一区二区三区| 久久欧美中文字幕| 国产精品69毛片高清亚洲| 久久蜜臀中文字幕| 成人午夜精品在线| 亚洲色欲色欲www| 97精品视频在线观看自产线路二| 国产精品久久久久久久浪潮网站| 成人精品一区二区三区四区| 欧美激情一二三区| 91一区一区三区| 亚洲第一成年网| 欧美一区二区免费视频| 久久99国产精品免费网站| 精品国产99国产精品| 国产在线看一区| 国产免费观看久久| 91老师国产黑色丝袜在线| 一区二区三区四区不卡在线 | 精品国内二区三区| 国产99久久久国产精品潘金网站| 中文字幕第一页久久| 99国产精品一区| 亚洲h精品动漫在线观看| 欧美一区二区视频观看视频| 国模娜娜一区二区三区| 国产精品日日摸夜夜摸av| 色综合久久88色综合天天6| 午夜视频一区二区三区| 26uuu精品一区二区三区四区在线| 成人免费看的视频| 亚洲成av人片在www色猫咪| 精品乱码亚洲一区二区不卡| av资源网一区| 丝袜美腿亚洲色图| 日本一区二区三区高清不卡|