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

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

?? mainwnd.cpp

?? 實現(xiàn)Wince.Net平臺下IE瀏覽器的功能
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:  mainwnd.cpp

Abstract:  Implements the main window, the container for the webbrowser

Functions:

Notes: Most of the code resides here. The container and its interaction with the webbrowser control,
        commandbar, statusbar etc.


--*/
#include <windows.h>
// Include the automation definitions...
#include <exdisp.h>
#include <exdispid.h>
#include <mshtmdid.h> // AMBIENT_DLCONTROL

#include <objbase.h>

#include <tchar.h>

#include <wininet.h>
#include <afdfunc.h>	//ras stuff
//#include <pkfuncs.h>	// GetOwnerProcess
#include <mshtml.h>
#include <commctrl.h>
#include <commdlg.h>
#include "MainWnd.h"
#include "resource.h"

#define INITGUID
#include "initguid.h"
//#include <hshell.h>

#define START_FULLSCREEN // Remove this if you don't want IESIMPLE to be full-screen at startup

DEFINE_GUID(CLSID_WebBrowser,       0x8856F961L, 0x340A, 0x11D0, 0xA9, 0x6B, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2);
DEFINE_GUID(IID_IWebBrowser,        0xEAB22AC1L, 0x30C1, 0x11CF, 0xA7, 0xEB, 0x00, 0x00, 0xC0, 0x5B, 0xAE, 0x0B);
DEFINE_GUID(IID_IWebBrowser2,       0xD30C1661L, 0xCDAF, 0x11D0, 0x8A, 0x3E, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
DEFINE_GUID(DIID_DWebBrowserEvents, 0xEAB22AC2L, 0x30C1, 0x11CF, 0xA7, 0xEB, 0x00, 0x00, 0xC0, 0x5B, 0xAE, 0x0B);
DEFINE_GUID(DIID_DWebBrowserEvents2, 0x34A715A0L, 0x6587, 0x11D0, 0x92, 0x4A, 0x00, 0x20, 0xAF, 0xC7, 0xAC, 0x4D);
DEFINE_GUID(IID_IWebBrowserApp,     0x0002DF05L, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);

const GUID SID_SDocHost = { 0xc6504990, 0xd43e, 0x11cf, { 0x89, 0x3b, 0x00, 0xaa, 0x00, 0xbd, 0xce, 0x1a}};

#define MAX(a,b)  (a > b) ? a : b
#define MIN(a,b)  (a > b) ? b : a

LONG        glThreadCount	= 0;
HWND		ghWndAddressEdit= NULL;
HANDLE      ghExitEvent		= NULL;
HINSTANCE   g_hInstance		= NULL;
DWORD      g_dwMainWindowStackSize = 0x20000;

void GetProxyOption();


static HRESULT FindString();
HRESULT HandleNewWindow2(LPTSTR lpszUrl, DISPPARAMS FAR* pdparams);
BOOL RegisterMainWnd();


DWORD WINAPI NewWindow(LPVOID pParam)
{

    CMainWnd *pWnd = (CMainWnd *)pParam;
    MSG msg;
    BOOL fRet;

//    HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);

    fRet = pWnd->Create();

//    SetEvent(pWnd->hEvent);

    if (!fRet)
    {
        pWnd->_pBrowser = NULL;
        return 0;
    }


    while (GetMessage( &msg, NULL, 0, 0 ) )
    {
        if(msg.message == WM_QUIT)
            break;

        if (!pWnd->PreTranslateMessage(&msg) && !(msg.message == WM_CHAR && msg.wParam == VK_TAB))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }


    pWnd->Release();

//    CoUninitialize();

//    InterlockedDecrement(&glThreadCount);
    SetEvent(ghExitEvent);

    return msg.wParam;
}

int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPTSTR lpCmdLine, int nCmdShow)
{
    INITCOMMONCONTROLSEX iccsex;
    HKEY hKey;
    DWORD dwSize = sizeof(DWORD);
    MSG msg;

    // HKCU is where IE\Main settings are
    if(ERROR_SUCCESS == RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("SOFTWARE\\Microsoft\\Internet Explorer\\Main"), 0, 0, &hKey))
    {
            RegQueryValueEx(hKey, TEXT("StackRes"), NULL, NULL, (LPBYTE)&g_dwMainWindowStackSize, &dwSize);
            RegCloseKey(hKey);
    }

    // provide a default stack size if the one given is too small or too large. 
    if(g_dwMainWindowStackSize < 0x10000 || g_dwMainWindowStackSize > 0x80000)
    {
            // default to 128k
            g_dwMainWindowStackSize = 0x20000;
    }
    RETAILMSG(1,(L"IESIMPLE Using Stack size: %x", g_dwMainWindowStackSize));


    HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
    if (FAILED(hr))
    {
        return FALSE;
    }



   if (!RegisterMainWnd())
            return FALSE;
    
    ghExitEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
    if (!ghExitEvent)
    {
        return FALSE;
    }

    iccsex.dwSize = sizeof(INITCOMMONCONTROLSEX);
    iccsex.dwICC = ICC_COOL_CLASSES
    ;

    InitCommonControlsEx(&iccsex);

    g_hInstance = hInst;

    // Create  a message queue on this thread
    PeekMessage(&msg, NULL, 0,0,PM_NOREMOVE);

    if(FAILED(HandleNewWindow2(lpCmdLine, NULL)))
    {
        goto Cleanup;
    }


    while (glThreadCount > 0)
    {
        WaitForSingleObject(ghExitEvent, INFINITE);
    }
    
Cleanup:    
    CoUninitialize();

    RETAILMSG(1, (L"IESIMPLE exited. Cmdline was: %s\r\n",lpCmdLine ? lpCmdLine : L""));

    return TRUE;
}


CMainWnd::CMainWnd()
{
    _ulRefs = 1;
    _hWnd = NULL;
    _pBrowser = NULL;
    _pObject = NULL;
    _pCP = NULL;
    _lpszUrl = NULL;
    _fFullScreen = FALSE;
    _fEmpty = FALSE;
    _szTitle[0] = 0;

    _wZoom = 2; // default zoom
    _wDLCCounter = 0; // counter for Download Completes
	
}

CMainWnd::~CMainWnd()
{

RETAILMSG(1,(L"IESIMPLE Exiting ~CMainWnd\r\n"));

        if(_pBrowser)
            _pBrowser->Release();


}   

BOOL RegisterMainWnd()
{
    WNDCLASS        wc;
    wc.style         = 0;
    wc.lpfnWndProc   = (WNDPROC)CMainWnd::MainWndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = g_hInstance;
    wc.hIcon         = NULL; // LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_IE));
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)GetSysColorBrush(COLOR_WINDOW);
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = TEXT("IESIMPLE");

    if (!(RegisterClass(&wc)))
        return FALSE;

    return TRUE;
}


BOOL CMainWnd::Create()
{
    RECT rcArea;

    DWORD dwStyle =
		WS_VISIBLE | WS_OVERLAPPED | WS_THICKFRAME | WS_SYSMENU;
		/*|WS_OVERLAPPED|WS_BORDER|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX*/
    DWORD dwExStyle = 0/*WS_EX_OVERLAPPEDWINDOW*/;

    HMENU hMenu = NULL;

    SystemParametersInfo(SPI_GETWORKAREA, 0, &rcArea, 0);

    _hWnd = ::CreateWindowEx(dwExStyle,
                             TEXT("IESIMPLE"),
                             (WCHAR *)LoadString(g_hInstance, IDS_IE, NULL, 0),
                             dwStyle,
                             rcArea.left + 20,
                             rcArea.top + 20,
                             rcArea.right - rcArea.left - 40,
                             rcArea.bottom - rcArea.top - 30,
                             NULL, hMenu, g_hInstance, 0);
    if (!_hWnd)
        return FALSE;

    SetWindowLong(_hWnd, GWL_USERDATA, (DWORD)this);
    GetWindowRect(_hWnd, &_rcWnd);
/*
// create a progress bar
_rcProgress.left = 5;
_rcProgress.right = _rcProgress.left + (_rcWnd.right - _rcWnd.left)/3;
_rcProgress.top = 5;
_rcProgress.bottom = _rcProgress.top  + 15;

_hwndProgress = CreateWindowEx(WS_EX_NOACTIVATE, PROGRESS_CLASS, _T(""), WS_CHILD|PBS_SMOOTH|WS_BORDER,
                                   _rcProgress.left, _rcProgress.top, _rcProgress.right-_rcProgress.left, _rcProgress.bottom-_rcProgress.top,
                                   _hWnd, NULL, g_hInstance, NULL);
if(_hwndProgress)
        SendMessage(_hwndProgress, PBM_SETRANGE32, 0, 1000);
// /progress bar
*/
    

    if (!(_hWndBrowser = CreateBrowser()))
        return FALSE;

    // LONG lStyle = GetWindowLong(_hWndBrowser, GWL_STYLE);
   // SetWindowLong(_hWndBrowser, GWL_STYLE, lStyle|WS_BORDER);
 
	SetFocus(_hWnd);

//    _hAccelTbl = LoadAccelerators(g_hInstance, MAKEINTRESOURCE(IDR_ACCELERATOR));

#ifdef START_FULLSCREEN
    HandleCommand( ID_FULLSCREEN, 0 );
#endif

    return TRUE;
}



void GetProxyOption()
{
/*	INTERNET_PER_CONN_OPTION_LIST	iOptionList;
	INTERNET_PER_CONN_OPTION		iOptions[3];
	ULONG							uSize = sizeof(iOptionList);

	iOptionList.dwSize			= uSize;
	iOptionList.pszConnection	= NULL;
	iOptionList.dwOptionCount	= 3;
	iOptionList.pOptions		= iOptions;

	// set proxy type direct or proxy server
	iOptions[0].dwOption	= INTERNET_PER_CONN_FLAGS;
	iOptions[1].dwOption	= INTERNET_PER_CONN_PROXY_SERVER;
	iOptions[2].dwOption	= INTERNET_PER_CONN_PROXY_BYPASS;
	
	if(InternetQueryOption(NULL,INTERNET_OPTION_PER_CONNECTION_OPTION ,(LPVOID)(&iOptionList),&uSize))
	{
		GlobalFree(iOptionList.pOptions[1].Value.pszValue);
		GlobalFree(iOptionList.pOptions[2].Value.pszValue);
	}
*/

	return;
}

HWND CMainWnd::CreateBrowser()
{
    HRESULT hr;
    IUnknown *pUnk = NULL;
    IOleObject *pObject = NULL;


    if (!_pBrowser)
    {
		GetProxyOption();
        hr = CoCreateInstance(CLSID_WebBrowser, NULL,
                              CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER,
                              IID_IUnknown, (LPVOID *)(&pUnk));
        if (FAILED(hr))
            return FALSE;

        hr = pUnk->QueryInterface(IID_IOleObject, (LPVOID *)(&pObject));
        if (FAILED(hr))
            goto Cleanup;

        DWORD dwFlags;
        hr = pObject->GetMiscStatus(DVASPECT_CONTENT, &dwFlags);
        if (FAILED(hr))
            goto Cleanup;

        if (dwFlags & OLEMISC_SETCLIENTSITEFIRST)
        {
            IOleClientSite *pClientSite;
            hr = QueryInterface(IID_IOleClientSite, (LPVOID *)(&pClientSite));
            if (FAILED(hr))
                goto Cleanup;

            hr = pObject->SetClientSite(pClientSite);
            pClientSite->Release();
            if (FAILED(hr))
                goto Cleanup;
        }

        hr = Activate(pObject);
        if (FAILED(hr))
            goto Cleanup;

        hr = _pObject->QueryInterface(IID_IWebBrowser2, (void **)&_pBrowser);
        if (FAILED(hr))
            goto Cleanup;

        // See if there might be a url in lpszUrl
        hr = pUnk->QueryInterface(IID_IOleInPlaceActiveObject, (LPVOID *)(&_pIPActiveObj));
        if (FAILED(hr))
			_pIPActiveObj = NULL;

        //hr = S_FALSE;

        //if (_fEmpty)
        {

			// lijh test code 
			TCHAR		cPictFileName[MAX_PATH] = TEXT("\\IMG_0615.JPG");

            //BSTR bstrURL = SysAllocString(_lpszUrl);
		    BSTR bstrURL = SysAllocString( cPictFileName );

            if (bstrURL && bstrURL[0])
                _pBrowser->Navigate(bstrURL, NULL, NULL, NULL, NULL);
            //else
            //    _pBrowser->GoHome();

            SysFreeString(bstrURL);
                
        }
//        hr = InitEvents();
    }

Cleanup:
    if (pUnk)
        pUnk->Release();
    if (pObject)
        pObject->Release();

    IOleWindow *pWnd = NULL;
    HWND hwndBrowser = NULL;

    if (_pBrowser)
    {
        hr = _pBrowser->QueryInterface(IID_IOleWindow, (LPVOID *)(&pWnd));
        if (FAILED(hr))
            return NULL;
    }

    if (pWnd)
    {
        hr = pWnd->GetWindow(&hwndBrowser);
        pWnd->Release();
    }
    return hwndBrowser;
}

HRESULT CMainWnd::Activate(IOleObject *pObject)
{
    _pObject = pObject;
    _pObject->AddRef();

    RECT rc;
    ::GetClientRect(_hWnd, &rc);

    HRESULT hr;
    hr    =    _pObject->DoVerb(   OLEIVERB_UIACTIVATE,    NULL,    this,    0,    _hWnd,    &rc);

    if (FAILED(hr))
        goto Cleanup;

    Cleanup:
    return hr;
}

HRESULT CMainWnd::InitEvents()
{
    HRESULT                     hr;
    IConnectionPointContainer  *pCPCont = NULL;
    DWebBrowserEvents          *pEvents = NULL;

    if (!_pBrowser)
        return S_FALSE;
    hr = _pBrowser->QueryInterface(IID_IConnectionPointContainer, (LPVOID *)&pCPCont);
    if (FAILED(hr))
        return S_FALSE;
    hr = pCPCont->FindConnectionPoint(DIID_DWebBrowserEvents2, &_pCP);
    if (FAILED(hr))
	{
		_pCP = NULL;
        goto Cleanup;
	}

    hr = QueryInterface(DIID_DWebBrowserEvents2, (LPVOID *)(&pEvents));
    if (FAILED(hr))
        goto Cleanup;
    hr = _pCP->Advise(pEvents, &(_dwEventCookie));
    if (FAILED(hr))
        goto Cleanup;


    Cleanup:
    if (pCPCont)
        pCPCont->Release();
    if (pEvents)
        pEvents->Release();
    return hr;
}



HRESULT HandleNewWindow2(LPTSTR lpszUrl, DISPPARAMS FAR* pdparams)
{

        HANDLE hThread;
        CMainWnd *pNewWnd;
        IDispatch *pDispatch;
        HRESULT hr = S_OK;

        pNewWnd = new CMainWnd;

        if (!pNewWnd)
        {
            return E_OUTOFMEMORY;
        }

        pNewWnd->_lpszUrl = lpszUrl;
        if(!pdparams)
            pNewWnd->_fEmpty = TRUE;
            
        pNewWnd->hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

        if (!pNewWnd->hEvent)
        {

        }


		NewWindow( (LPVOID)pNewWnd );
/*

        InterlockedIncrement(&glThreadCount);

        hThread = CreateThread(NULL, g_dwMainWindowStackSize, NewWindow, (LPVOID)pNewWnd, STACK_SIZE_PARAM_IS_A_RESERVATION, NULL);

        if (!hThread)
        {
            delete pNewWnd;
            InterlockedDecrement(&glThreadCount);
            return E_OUTOFMEMORY;
        }

        WaitForSingleObject(pNewWnd->hEvent, INFINITE);
	CloseHandle(hThread);
*/       
		if(pdparams)
        {
            if (pNewWnd->_pBrowser)
            {
                hr = pNewWnd->_pBrowser->QueryInterface(IID_IDispatch, (LPVOID *)(&pDispatch));
            }
            else
            {
                hr = E_FAIL;
                pDispatch = NULL;
            }

            *(pdparams->rgvarg[0].pboolVal) = 0;
            *(pdparams->rgvarg[1].ppdispVal) = pDispatch;
        }
        return hr;


}


STDMETHODIMP CMainWnd::GetHostInfo(DOCHOSTUIINFO *pInfo)
{
	
	pInfo->cbSize = sizeof(DOCHOSTUIINFO);
	//pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER|DOCHOSTUIFLAG_FLAT_SCROLLBAR;
	//pInfo->dwFlags |= DOCHOSTUIFLAG_SCROLL_NO;

	return S_OK;

}

STDMETHODIMP CMainWnd::Invoke (
                              DISPID dispidMember,
                              REFIID riid,
                              LCID lcid,
                              WORD wFlags,
                              DISPPARAMS FAR* pdparams,
                              VARIANT FAR* pvarResult,
                              EXCEPINFO FAR* pexcepinfo,
                              UINT FAR* puArgErr
                              )
{
    switch (dispidMember)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天综合网国产成人综合天| 国产一区二区精品久久91| 欧美综合在线视频| 偷拍一区二区三区| 日韩午夜在线观看| 国产综合成人久久大片91| 国产视频视频一区| 色香蕉久久蜜桃| 秋霞av亚洲一区二区三| 久久久久久免费毛片精品| 91在线一区二区| 亚洲福利视频一区| 精品国产免费人成电影在线观看四季| 国产成人小视频| 亚洲一区欧美一区| 久久影院午夜论| 一本色道久久综合亚洲精品按摩| 日日夜夜一区二区| 国产亚洲欧美色| 精品视频123区在线观看| 麻豆精品国产传媒mv男同| 日本一区免费视频| 精品视频资源站| 国产精品正在播放| 一区二区三区在线影院| 欧美精品一区二区三区在线播放 | 欧美日韩日日夜夜| 久久99精品国产麻豆不卡| 国产精品麻豆欧美日韩ww| 91精品欧美久久久久久动漫| 国产a级毛片一区| 日韩不卡一区二区| 国产精品久线观看视频| 欧美一级日韩不卡播放免费| 成人一二三区视频| 免费xxxx性欧美18vr| 1024成人网| 欧美精品一区二区三区在线播放| 91久久香蕉国产日韩欧美9色| 国内久久婷婷综合| 亚洲成人激情综合网| 中文字幕制服丝袜一区二区三区| 91.com在线观看| 色婷婷综合中文久久一本| 狠狠网亚洲精品| 日本欧美在线观看| 亚洲主播在线播放| 亚洲欧美综合色| 久久亚洲精品国产精品紫薇| 欧美日韩国产成人在线免费| 99久久国产免费看| 欧美一区二区视频网站| 欧美一区二区三区视频| 国产91综合网| 国模娜娜一区二区三区| 日本成人在线视频网站| 99精品视频在线观看免费| 午夜在线成人av| 亚洲乱码日产精品bd| 99久精品国产| 欧美日韩午夜精品| 日韩免费一区二区| 久久精品视频一区二区三区| 亚洲欧美在线另类| 日韩高清在线不卡| 国产精品77777| 一本大道久久a久久精品综合| 欧美亚洲综合色| 日韩欧美久久一区| 中国色在线观看另类| 亚洲精品高清视频在线观看| 三级欧美在线一区| 粉嫩av一区二区三区| 欧亚一区二区三区| 久久综合精品国产一区二区三区 | 亚洲男人的天堂av| 毛片av一区二区三区| 99久久久精品| 日韩精品综合一本久道在线视频| 日本一区二区三区四区在线视频| 亚洲精品日韩一| 国产麻豆一精品一av一免费| 色天天综合色天天久久| 欧美成人video| 亚洲男人都懂的| 国产一区二区三区久久悠悠色av| 色婷婷香蕉在线一区二区| 亚洲精品一区二区三区蜜桃下载| 一区二区三区美女视频| 国产一区二区不卡在线| 精品视频123区在线观看| 国产日产欧美精品一区二区三区| 婷婷开心激情综合| 99久久精品国产一区二区三区 | 亚洲色欲色欲www| 麻豆精品久久久| 欧美三级中文字幕在线观看| 久久久91精品国产一区二区精品| 天天综合天天综合色| 不卡的电影网站| 久久久噜噜噜久久人人看| 午夜一区二区三区视频| 99久久精品一区二区| 26uuu国产电影一区二区| 亚洲国产va精品久久久不卡综合| 成人av免费网站| 精品电影一区二区| 日本女优在线视频一区二区| 欧洲一区二区三区在线| 中文字幕一区不卡| 国产成人av资源| 欧美xxxx在线观看| 免费一级欧美片在线观看| 欧美视频日韩视频| 亚洲精品伦理在线| 91小视频在线| 亚洲欧美激情视频在线观看一区二区三区 | 国产一区二区三区在线观看免费视频| 精品视频一区二区三区免费| 亚洲美女屁股眼交3| 99精品偷自拍| 亚洲欧美日韩成人高清在线一区| 成人av网站免费| 欧美国产成人精品| 国产成人在线看| 亚洲国产成人私人影院tom| 国产精品一区在线观看乱码| 欧美大片一区二区| 久久er99热精品一区二区| 欧美电影免费提供在线观看| 美国毛片一区二区三区| 日韩欧美国产一区二区在线播放| 丝袜美腿亚洲综合| 91.麻豆视频| 麻豆国产精品777777在线| 欧美一区2区视频在线观看| 日本欧美加勒比视频| 日韩一区二区三区精品视频| 六月丁香婷婷色狠狠久久| 欧美成人性战久久| 国产最新精品免费| 国产精品拍天天在线| 亚洲已满18点击进入久久| 欧美综合亚洲图片综合区| 午夜精品久久久久影视| 欧美一区二区三区视频在线观看| 免费黄网站欧美| 久久亚洲精品小早川怜子| 91国内精品野花午夜精品| 欧美色爱综合网| 五月天婷婷综合| 精品久久久久香蕉网| 国产成a人亚洲精品| 亚洲色图丝袜美腿| 欧美又粗又大又爽| 奇米一区二区三区| 久久久精品黄色| 色天使久久综合网天天| 日韩精品视频网| 国产欧美精品一区二区三区四区 | 亚洲欧美另类小说| 7777精品伊人久久久大香线蕉| 精彩视频一区二区三区| 国产精品水嫩水嫩| 欧美日韩一区高清| 激情伊人五月天久久综合| 国产精品美日韩| 欧美美女喷水视频| 国产一区二区三区免费| 亚洲欧美经典视频| 精品久久久久久久人人人人传媒 | 国产在线不卡一卡二卡三卡四卡| 国产精品欧美综合在线| 欧美视频一二三区| 国产一区二区按摩在线观看| 一区二区三区资源| 久久综合九色综合欧美就去吻| 色婷婷久久99综合精品jk白丝| 久久不见久久见免费视频1| 日韩理论电影院| 精品对白一区国产伦| 色综合天天综合网国产成人综合天 | 亚洲情趣在线观看| 日韩女同互慰一区二区| 成人福利在线看| 麻豆精品在线看| 亚洲精品少妇30p| 久久嫩草精品久久久精品| 欧美性生活大片视频| 国产91精品一区二区麻豆亚洲| 爽爽淫人综合网网站| 国产精品美女久久久久aⅴ| 欧美一级黄色大片| 色妞www精品视频| 国产精品一区二区久久精品爱涩| 亚洲成人一二三| 亚洲视频电影在线| 久久久久久一级片| 欧美电影免费观看高清完整版| 欧美亚洲高清一区|