青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數據加載中……

WINCE及MOBILE常用代碼

對話框全屏代碼 -----在OnInitDialog函數中加入以下代碼
m_bFullScreen = FALSE;

// Call SHInitDialog with flags for full screen.
 SHINITDLGINFO shidi;
 
 shidi.dwMask = SHIDIM_FLAGS;
 shidi.dwFlags = SHIDIF_FULLSCREENNOMENUBAR;
 shidi.hDlg = m_hWnd;
 SHInitDialog(&shidi);
 
 // SHFullScreen fails if dialog box is not foreground.
 SetForegroundWindow();
 SHFullScreen(m_hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON|SHFS_HIDESTARTICON);
 
 // Resize the window over the taskbar area.
 nX = GetSystemMetrics(SM_CXSCREEN);
 nY = GetSystemMetrics(SM_CYSCREEN);


MoveWindow(0,0,nX,nY, TRUE);

調用輸入法面板:SHSipPreference(AfxGetMainWnd()->m_hWnd, SIP_UP);      //SipShowIM(SIPF_ON);
隱藏輸入法面板:SHSipPreference(AfxGetMainWnd()->m_hWnd, SIP_DOWN);    //SipShowIM(SIPF_OFF);


/隱藏窗口右上角的OK按鈕和X按鈕
 ModifyStyleEx(WS_EX_CAPTIONOKBTN,WS_EX_TOPMOST,SWP_NOMOVE);//窗口右上角的OK按鈕改為X按鈕
 ModifyStyle(0,   WS_NONAVDONEBUTTON,   SWP_NOSIZE); //將X按鈕隱藏

使用unload.exe卸載程序
PROCESS_INFORMATION stProgressInfo;
CreateProcess(_T("\\Windows\\unload.exe"), szUninstallBuf, NULL, NULL, NULL, 0, NULL, NULL, NULL, &stProgressInfo) ;
szUninstallBuf這個參數必須和注冊表 HLM\SOFTWARE\APPS\下的對應應用的名稱一致。
有個前提,使用這個必須是在cab中沒有指定 nouninstall這個參數 


/*  
  #define   EWX_LOGOFF       0  
  #define   EWX_SHUTDOWN   1  
  #define   EWX_REBOOT       2           重啟  
  #define   EWX_FORCE         4  
  #define   EWX_POWEROFF   8           關機  
  */  
  extern   "C"   BOOL   ExitWindowsEx(UINT   uFlags,   DWORD   dwReason);  
  ExitWindowsEx(EWX_REBOOT,   0);   //重啟(軟重啟)  
  ExitWindowsEx(EWX_POWEROFF,   0);   //關機   


顯示或者隱藏等待圖標 
//   Set   the   cursor   as   the   wait   cursor.  
  SetCursor   (LoadCursor   (NULL,   IDC_WAIT));   
  //   Hide   the   cursor.  
  SetCursor   (0);


//獲取當前剩余物理內存:
 #include <windows.h>
  MEMORYSTATUS Status;
 Status.dwLength = sizeof(MEMORYSTATUS);
 GlobalMemoryStatus(&Status);
 //return Status.dwAvailPhys;

獲取電池電量剩余百分比:
SYSTEM_POWER_STATUS_EX stat;
GetSystemPowerStatusEx(&stat, TRUE);
if (stat.BatteryLifePercent > 100)
return -1;
else
return stat.BatteryLifePercent;


獲取磁盤剩余空間:
GetDiskFreeSpaceEx(NULL,
(PULARGE_INTEGER)&i64FreeBytesToCaller,
(PULARGE_INTEGER)&i64TotalBytes,
(PULARGE_INTEGER)&i64FreeBytes);

通過GPRS連接WAP的代碼:

HANDLE m_hConnection;

    
// 得到正確的連接信息
    CONNMGR_DESTINATION_INFO networkDestInfo = {0};
    
// 得到網絡列表
    DWORD dwEnumIndex=0;
    
for (; ; dwEnumIndex++ )
    {
        memset ( 
&networkDestInfo, 0sizeof(CONNMGR_DESTINATION_INFO) );
        
if ( ConnMgrEnumDestinations ( dwEnumIndex, &networkDestInfo ) == E_FAIL )
            
break;
        
if(!_tcscmp(networkDestInfo.szDescription, _T("WAP")))
            
break;
    }

    CONNMGR_DESTINATION_INFO DestInfo 
= {0};
    HRESULT hResult 
= ConnMgrEnumDestinations(dwEnumIndex, &DestInfo);
    BOOL bRet 
= FALSE;
    
if(SUCCEEDED(hResult))
    {
        
// 初始化連接結構
        CONNMGR_CONNECTIONINFO ConnInfo;

        ZeroMemory(
&ConnInfo, sizeof(ConnInfo));
        ConnInfo.cbSize 
= sizeof(ConnInfo);
        ConnInfo.dwParams 
= CONNMGR_PARAM_GUIDDESTNET;
        ConnInfo.dwFlags 
= CONNMGR_FLAG_PROXY_HTTP | CONNMGR_FLAG_PROXY_WAP | CONNMGR_FLAG_PROXY_SOCKS4 | CONNMGR_FLAG_PROXY_SOCKS5;
        ConnInfo.dwPriority 
= CONNMGR_PRIORITY_HIPRIBKGND;//CONNMGR_PRIORITY_USERINTERACTIVE;
        ConnInfo.guidDestNet = /*IID_DestNetInternet*/DestInfo.guid;
        ConnInfo.bExclusive    
= FALSE; 
        ConnInfo.bDisabled 
= FALSE;

        DWORD dwStatus 
= 0;
        hResult 
= ConnMgrEstablishConnectionSync(&ConnInfo, &m_hConnection, 100*1000&dwStatus );
        DWORD err 
= GetLastError();
        
if (SUCCEEDED(hResult))
        {
            
//MessageBox(NULL,L"網絡連接成功",L"信息",MB_OK);
            return TRUE;
        }
        
else
        {
            
//MessageBox(NULL,L"網絡連接失敗!!請檢查網絡狀況。",L"錯誤",MB_OK);
            return FALSE;
        }
    }

下面是封裝的一個socket類,可用在wince和wm上

 1 // TCPClient_CE.h: interface for the CTCPClient_CE class.
 2 //
 3 //////////////////////////////////////////////////////////////////////
 4 
 5 #if !defined(AFX_TCPCLIENT_CE_H__B7856B99_69E7_4868_9BA3_96152245C65E__INCLUDED_)
 6 #define AFX_TCPCLIENT_CE_H__B7856B99_69E7_4868_9BA3_96152245C65E__INCLUDED_
 7 
 8 #if _MSC_VER > 1000
 9 #pragma once
10 #endif // _MSC_VER > 1000
11 
12 #include <winsock2.h>
13 #include "yourProject.h"
14 
15 
16 //定義連接斷開事件
17 typedef void (CALLBACK* ONDISCONNECT)(CWnd*);
18 //定義當有數據接收事件
19 typedef void (CALLBACK* ONREAD)(CWnd*,const char * buf,int len );
20 //定義Socket錯誤事件
21 typedef void (CALLBACK* ONERROR)(CWnd*,int nErrorCode);
22 
23 class CTCPClient_CE  
24 {
25 public:
26     CTCPClient_CE();
27     virtual ~CTCPClient_CE();
28 public:
29     friend class YourApp;
30     //打開客戶端socket
31     bool Open(CWnd * pWnd);
32     //關閉客戶端socket
33     bool Close();
34     //與服務器端建立連接
35     bool Connect();
36     //向服務器端發送數據
37     bool SendDate(const char * buf , int len);
38     bool SendData(const char * buf , int len);
39 public:
40     //遠程主機IP地址
41     CString     m_remoteHost;  
42     //遠程主機端口
43     int      m_port;
44     
45     /*--以下客戶端通訊事件--*/
46     //連接斷開事件,回調函數
47     ONDISCONNECT OnDisConnect;
48     //接收數據事件,回調函數
49     ONREAD       OnRead;
50     //發生錯誤事件,回調函數
51     ONERROR      OnError;
52     HANDLE m_hSynMutex; //同步互斥句柄
53 private:
54     //通訊Socket句柄
55     SOCKET m_socket;      
56     //通訊線程退出事件句柄
57     HANDLE m_exitThreadEvent; 
58     //通訊線程句柄
59     HANDLE m_tcpThreadHandle;
60     //父窗口句柄
61     CWnd * m_pOwnerWnd;   
62 private:
63     //通訊線程函數
64     static DWORD SocketThreadFunc(LPVOID lparam);
65 };
66 
67 #endif // !defined(AFX_TCPCLIENT_CE_H__B7856B99_69E7_4868_9BA3_96152245C65E__INCLUDED_)
68 
// TCPClient_CE.cpp: implementation of the CTCPClient_CE class.
//
//////////////////////////////////////////////////////////////////////

#include 
"stdafx.h"
#include 
"yourProject.h"
#include 
"TCPClient_CE.h"



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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

//構造函數
CTCPClient_CE::CTCPClient_CE()
{
    INT iRet 
= 0;
    
//初始化socket環境
    WSADATA wsd;

    iRet 
= WSAStartup(MAKEWORD(2,2),&wsd);

    
int nNetTimeout=1000;//1秒

    
//創建互斥對象,默認狀態為“未被線程擁有”
    m_hSynMutex = CreateMutex(NULL,FALSE,NULL);

   
//創建線程退出事件句柄
   m_exitThreadEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
}

//析構函數
CTCPClient_CE::~CTCPClient_CE()
{
   
//釋放socket資源
   WSACleanup();
   
//關閉線程退出事件句柄
   CloseHandle(m_exitThreadEvent);
   
//關閉互斥對象
    CloseHandle(m_hSynMutex);
}

/*--------------------------------------------------------------------
【函數介紹】:  此線程用于監聽TCP客戶端通訊的事件,例如當接收到數據、
               連接斷開和通訊過程發生錯誤等事件
【入口參數】:  lparam:無類型指針,可以通過此參數,向線程中傳入需要用到的資源。
               在這里我們將CTCPClient_CE類實例指針傳進來
【出口參數】:  (無)
【返回  值】:  返回值沒有特別的意義,在此我們將返回值設為0。
---------------------------------------------------------------------
*/
DWORD CTCPClient_CE::SocketThreadFunc(LPVOID lparam)
{
    CTCPClient_CE 
*pSocket;
    
//得到CTCPClient_CE實例指針
    pSocket = (CTCPClient_CE*)lparam;
    
//定義讀事件集合
    fd_set fdRead;
    
int ret;
    
//定義事件等待時間
    TIMEVAL    aTime;
    aTime.tv_sec 
= 1;
    aTime.tv_usec 
= 0;
    
while (TRUE)
    {
        
//收到退出事件,結束線程
        if (WaitForSingleObject(pSocket->m_exitThreadEvent,0== WAIT_OBJECT_0)
        {
            
break;
        }
        
//置空fdRead事件為空
        FD_ZERO(&fdRead);
        
//給客戶端socket設置讀事件
        FD_SET(pSocket->m_socket,&fdRead);
        
//調用select函數,判斷是否有讀事件發生
        ret = select(0,&fdRead,NULL,NULL,&aTime);
        
        
if (ret == SOCKET_ERROR)
        {
            
//觸發錯誤事件
            pSocket->OnError(pSocket->m_pOwnerWnd,1);
            
//觸發連接斷開事件
            pSocket->OnDisConnect(pSocket->m_pOwnerWnd);
            
//關閉客戶端socket
            closesocket(pSocket->m_socket);
            
break;
        }
    
        
if (ret > 0)
        {
            
if (FD_ISSET(pSocket->m_socket,&fdRead))
            {
                
//發生讀事件
                char recvBuf[1024];
                
int recvLen;
                ZeroMemory(recvBuf,
1024);
                
//接收數據
                recvLen = recv(pSocket->m_socket,recvBuf, 1024,0); 
                
if (recvLen == SOCKET_ERROR)
                {
                    
int iError = WSAGetLastError();
                    
//觸發socket錯誤事件
                    pSocket->OnError(pSocket->m_pOwnerWnd,iError);
                    
//觸發與服務器斷開事件
                    pSocket->OnDisConnect(pSocket->m_pOwnerWnd);
                    
//關閉客戶端socket
                    closesocket(pSocket->m_socket);
                    
break;
                }
                
else if (recvLen == 0)
                {
                    
//觸發與服務器端斷開事件
                    pSocket->OnDisConnect(pSocket->m_pOwnerWnd);
                    
//關閉客戶端socket
                    closesocket(pSocket->m_socket);
                    
break;
                }
                
else
                {
                   
//觸發數據接收事件
                   pSocket->OnRead(pSocket->m_pOwnerWnd,recvBuf,recvLen);
                }
            }
        }
    }
    
return 0;
}

/*--------------------------------------------------------------------
【函數介紹】: 用于打開客戶端socket
【入口參數】: pWnd用于指定父窗口句柄
【出口參數】: (無)
【返回  值】: TRUE:打開成功;FALSE:打開失敗
---------------------------------------------------------------------
*/
bool CTCPClient_CE::Open(CWnd * pWnd)
{
   
//復位線程退出事件
   ResetEvent(m_exitThreadEvent);
   
//存儲父窗口句柄
   m_pOwnerWnd = pWnd;
   
//創建TCP套接字 
   m_socket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
   
if (m_socket == SOCKET_ERROR)
   {
       
return FALSE;
   }
   
//創建通訊線程
   m_tcpThreadHandle = CreateThread(NULL,0,SocketThreadFunc,this,0,NULL);
   
if (m_tcpThreadHandle == NULL)
   {
       closesocket(m_socket);
       
return FALSE;
   }
   
return TRUE;
}


/*--------------------------------------------------------------------
【函數介紹】: 用于關閉客戶端socket
【入口參數】:  (無)
【出口參數】:  (無)
【返回  值】: TRUE:關閉成功;FALSE:關閉失敗
---------------------------------------------------------------------
*/
bool CTCPClient_CE::Close()
{
   
//發送通訊線程結束事件
   SetEvent(m_exitThreadEvent);
   Sleep(
1000);
   
//關閉Socket,釋放資源
   int err = closesocket(m_socket);
   
if (err == SOCKET_ERROR)
   {
       
return FALSE;
   }
   
return TRUE;
}


/*--------------------------------------------------------------------
【函數介紹】: 用于建立與TCP服務器連接
【入口參數】: (無)
【出口參數】: (無)
【返回  值】: TRUE:建立連接成功;FALSE:建立連接失敗
---------------------------------------------------------------------
*/
bool CTCPClient_CE::Connect()
{
   
struct sockaddr_in addr;
   
int err;

   addr.sin_family 
= AF_INET;
   addr.sin_port 
= htons(m_port);
   
//此處要將雙字節轉換成單字節
   char ansiRemoteHost[255];
    ZeroMemory(ansiRemoteHost,
255);
    WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,m_remoteHost,wcslen(m_remoteHost)
        ,ansiRemoteHost,wcslen(m_remoteHost),NULL,NULL);

  addr.sin_addr.s_addr
=inet_addr(ansiRemoteHost);
   
//此時采用同步連接方式,connect直接返回成功或是失敗
   err = connect(m_socket,(struct sockaddr *)&addr,sizeof(addr));
   
if (err == SOCKET_ERROR) 
   {
       
return FALSE;
   }
   DWORD Result 
= GetLastError();
   
//select 模型,即設置超時
/*
   struct   timeval   timeout;  
   fd_set r; 
   FD_ZERO(&r);   
   FD_SET(m_socket, &r);   
   timeout.tv_sec = 15;   //連接超時15秒   
   timeout.tv_usec = 0;   
   int ret = select(0, 0, &r, 0, &timeout);   
   if(ret <= 0)   
   {   
       ::closesocket(m_socket); 
       return FALSE;   
   }  
*/

   
//設置通訊模式為異步模式(阻塞模式)
   DWORD ul= 1;
   ioctlsocket(m_socket,FIONBIO,
&ul);

   
return TRUE;
}

/*--------------------------------------------------------------------
【函數介紹】: 向服務器端發送數據
【入口參數】: buf:待發送的數據
              len:待發送的數據長度
【出口參數】: (無)
【返回  值】: TRUE:發送數據成功;FALSE:發送數據失敗
---------------------------------------------------------------------
*/
bool CTCPClient_CE::SendDate(const char * buf , int len)
{
    
int nBytes = 0;
    
int nSendBytes=0;
    
static int Count = 0;
    Count 
+= 1;

    
while (nSendBytes < len)
    {
        nBytes 
= send(m_socket,buf+nSendBytes,len-nSendBytes,0);
        
if (nBytes==SOCKET_ERROR )
        {
            DWORD Err 
= GetLastError();
            
int iErrorCode = WSAGetLastError();
        
//    CString cs;
        
//    cs.Format(L"%ld",Err);
        
//    CString cs1;
        
//    cs1.Format(L"%d",Count);
        
//    MessageBox(NULL,cs,cs1,MB_OK);
            
//觸發socket的Error事件
            OnError(m_pOwnerWnd,iErrorCode);
            
//觸發與服務器端斷開連接事件
            OnDisConnect(m_pOwnerWnd);
            
//關閉socket
            Close();
            
return FALSE;
        }

        nSendBytes 
= nSendBytes + nBytes;
        
        
if (nSendBytes < len)
        {
            Sleep(
2000);
        }
    } 
    
return TRUE; 
}
bool CTCPClient_CE::SendData(const char * buf , int len)
{
    
//請求互斥對象
    if (WaitForSingleObject(m_hSynMutex,INFINITE) == WAIT_OBJECT_0)
    {
        SendDate(buf,len);
    }
    
//釋放對互斥對象的擁有權
    ReleaseMutex(m_hSynMutex);
    
return TRUE;
}

上面就是封裝的socket類,類中的友元類是應用程序類,我們在app中引入這個類,并在app類中實現它的void CALLBACK OnDisConnect(CWnd* pWnd);      //連接斷開事件處理函數;void CALLBACK OnError(CWnd* pWnd,int nErrorCode);   //Socket錯誤事件處理函數;void CALLBACK OnRead(CWnd* pWnd,const char * buf,int len); //數據接收事件;上面三個方法最好都做成static方法,方便在程序中任意地方引用它。

在Windows Mobile中最小化,顯示圖標在任務欄上

BOOL SampleDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
    UINT nID = LOWORD( wParam );
    switch(nID)
    {
        case 20:
            {
                this->ShowWindow(SW_SHOW);
                return true;
            }
            break;
    }
    return CWnd::OnCommand(wParam,lParam);
}

 

當然如果是再Windows程序中也可以用如下的方式寫:

在WinMain函數中設置回調函數。


int WINAPI WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine,   
    int nCmdShow
    )
{
    g_hInst = hInstance;

    SHInitExtraControls();

    // just call a dialog box, system will handle messaging, painting, etc...
    DialogBox(hInstance,(LPCTSTR)IDD_NOTIFYMAIN, NULL,(DLGPROC)NotifyMain );
    return 0;
}

 

在回調函數中處理:

LRESULT CALLBACK NotifyMain(
    HWND hDlg,
    UINT message,
    WPARAM wParam,
    LPARAM lParam
    )
{

      switch(message)

    {

          case WM_COMMAND:

            {

                 switch(LOWORD(wParam))

                 {

                      case 10:

                       {Your operation}

                       Break;

                 }

            }

     }

}

 

 



不斷更新中..........................

posted on 2009-06-26 16:00 Benjamin 閱讀(3449) 評論(4)  編輯 收藏 引用 所屬分類: PDA/PPC開發

評論

# re: WINCE及MOBILE常用代碼  回復  更多評論   

請問一下我想系統掛起后10分鐘,自動關機,有什么好辦法
2009-09-03 09:37 | yudong

# re: WINCE及MOBILE常用代碼  回復  更多評論   

做個記號
2009-11-27 11:17 | jungzhang

# re: WINCE及MOBILE常用代碼  回復  更多評論   

@yudong
這個需要用CeRunAppAtTime,還需要監聽電源狀態.
拿到快待機的單元狀態后,設置10分鐘后運行某一個程序就OK.

不過可惜的是,WM不能實現關機,除非你是OEM,或者你只針對某一機器開發而且那個廠商愿意給你這樣的API.
2010-02-20 11:49 | egmkang.wang

# re: WINCE及MOBILE常用代碼  回復  更多評論   

標記。

cabmail.
2012-06-05 22:42 | cabmail
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品影院| 国产精品日韩欧美| 欧美日韩国产大片| 国产一区二区三区电影在线观看| 亚洲福利精品| 久久伊人精品天天| 欧美一区二区三区免费大片| 国产精品久久久999| 一区二区福利| 亚洲国产日韩欧美| 香蕉久久夜色精品国产使用方法| 国产精品国产| 午夜精品久久一牛影视| 一本色道久久| 国产精品盗摄久久久| 亚洲影院色在线观看免费| 亚洲人线精品午夜| 欧美日韩国产精品一区| 亚洲视频精品在线| 中文无字幕一区二区三区| 欧美午夜无遮挡| 亚洲女同在线| 性亚洲最疯狂xxxx高清| 国内免费精品永久在线视频| 久久婷婷影院| 久久在线精品| 99国产精品久久久久久久成人热 | 亚洲影音一区| 亚洲日本中文字幕| 欧美日韩国产一区二区三区地区| 在线亚洲一区二区| 一本色道久久综合| 国产精品乱码一区二区三区| 午夜在线视频观看日韩17c| 亚洲影院在线| 亚洲第一伊人| 亚洲精品视频免费在线观看| 欧美视频一区二区三区…| 午夜天堂精品久久久久| 欧美一区二区三区久久精品 | 亚洲人www| 亚洲激情视频在线播放| 国产精品草草| 久久久久久69| 你懂的视频欧美| 亚洲视频香蕉人妖| 久久电影一区| 日韩亚洲视频在线| …久久精品99久久香蕉国产 | 欧美在线综合| 久久久噜噜噜久久中文字免| 亚洲国产成人av在线| 亚洲激情影视| 国产欧美一区二区三区久久| 欧美成人四级电影| 国产精品视频成人| 亚洲高清不卡在线观看| 国产精品国产三级国产普通话蜜臀| 久久久久在线| 欧美精品在线极品| 久久亚洲综合| 欧美亚洲成人网| 欧美电影免费观看网站| 国产精品久久综合| 亚洲国产欧美精品| 国产一区二区欧美| 中文在线资源观看网站视频免费不卡| 国产一区视频在线看| 一区二区三区产品免费精品久久75| 极品日韩av| 久久中文久久字幕| 欧美在线一区二区| 欧美精品一区二区三区很污很色的| 午夜精品亚洲| 欧美精品久久天天躁| 欧美成人一区在线| 国产一区二区视频在线观看| 亚洲一区二区免费视频| 99精品热6080yy久久| 欧美gay视频激情| 久久综合五月| 国产一区二区精品久久91| 亚洲一区尤物| 亚洲欧美日韩国产成人| 欧美日韩一区二区精品| 亚洲激情成人网| 亚洲电影免费观看高清完整版在线| 午夜国产精品视频| 欧美一区二区免费视频| 国产精品久久久久久久久久妞妞| 亚洲精品少妇网址| 亚洲老板91色精品久久| 欧美电影免费| 亚洲国产电影| 日韩一区二区精品在线观看| 欧美成ee人免费视频| 欧美大香线蕉线伊人久久国产精品| 国产一区日韩一区| 久热精品视频| 欧美大片在线观看一区| 日韩一级大片| 欧美看片网站| 中国av一区| 性色av一区二区三区红粉影视| 国产精品久久久久久久久婷婷| 亚洲最新中文字幕| 亚洲欧美一区二区激情| 国产精品亚洲综合一区在线观看| 欧美一区二区三区四区高清| 国产伦理一区| 欧美激情国产日韩精品一区18| 欧美国产视频一区二区| 亚洲国产一区在线| 欧美理论在线播放| 99精品国产在热久久婷婷| 亚洲免费网址| 国产女主播一区| 久久免费视频网| 亚洲黄色免费| 亚洲深夜福利| 国产精品美腿一区在线看| 国产女人精品视频| 亚洲视频大全| 国产视频一区在线观看| 久久米奇亚洲| 在线亚洲+欧美+日本专区| 久久久xxx| 国产目拍亚洲精品99久久精品 | 日韩视频一区二区在线观看| 亚洲一区二区免费| 黄色亚洲精品| 欧美日本三区| 欧美在线亚洲综合一区| 亚洲国产日韩欧美综合久久| 中文在线一区| 尹人成人综合网| 欧美午夜剧场| 久久久久久国产精品mv| 一区二区精品国产| 欧美大学生性色视频| 香蕉成人啪国产精品视频综合网| 在线免费观看一区二区三区| 国产精品久久久久av免费| 久久美女性网| 午夜视频在线观看一区二区三区| 亚洲国内自拍| 裸体一区二区三区| 亚洲欧美网站| aa亚洲婷婷| 亚洲第一级黄色片| 国产色产综合产在线视频| 欧美精品一区在线观看| 久久免费视频网| 欧美尤物巨大精品爽| 一区二区高清视频| 亚洲国产高清一区| 久久综合九色99| 欧美一区二区观看视频| 亚洲午夜激情网站| 亚洲免费成人av电影| 伊人久久亚洲影院| 国产亚洲精品福利| 国产精品入口66mio| 欧美精品久久天天躁| 欧美大色视频| 男人天堂欧美日韩| 老色批av在线精品| 久久香蕉国产线看观看av| 欧美主播一区二区三区| 亚洲综合不卡| 亚洲综合第一页| 亚洲在线视频一区| 亚洲欧美日韩精品一区二区| 亚洲午夜精品一区二区三区他趣| 艳妇臀荡乳欲伦亚洲一区| 999亚洲国产精| 在线视频欧美日韩| 亚洲视频一区二区| 亚洲欧美高清| 欧美国产日韩精品免费观看| 亚洲国产一区二区视频| 久久综合一区| 嫩草影视亚洲| 一本色道久久综合亚洲精品按摩| 免费亚洲电影| 蜜臀99久久精品久久久久久软件| 久久在线精品| 欧美电影免费观看网站| 美女任你摸久久| 欧美国产第二页| 欧美精品久久久久a| 欧美日韩另类视频| 国产精品日韩欧美一区二区三区 | 久久免费视频在线| 久久综合久久综合久久综合| 麻豆精品视频| 欧美日韩精品免费| 国产精品久久一级| 好男人免费精品视频| 亚洲激情电影中文字幕|