韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

從任務(wù)通知區(qū)打開屏幕保護(hù)程序

從任務(wù)通知區(qū)打開屏幕保護(hù)程序

更新時(shí)間:2022-10-14 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

作者:朱志強(qiáng)

本文通過一個(gè)快速啟動(dòng)屏幕保護(hù)程序的小程序SSLaunch,來介紹應(yīng)用程序如何向任務(wù)欄通知區(qū)加入圖標(biāo)、如何禁止多個(gè)Win32實(shí)例以及屏幕保護(hù)程序的有關(guān)內(nèi)容。

  SSLaunch用C語言編寫,用Visual C++ 5.0編譯,是一個(gè)基于無模式對話框的程序,同時(shí)禁止多個(gè)實(shí)例,即一次只能有一個(gè)實(shí)例運(yùn)行。任務(wù)欄通知區(qū)圖標(biāo)在對話框初始化時(shí)加入,對話框響應(yīng)程序定義的回調(diào)消息,當(dāng)鼠標(biāo)左鍵按下時(shí),彈出一由屏幕保護(hù)程序名填充的上下文菜單。對話框關(guān)閉(即程序退出)時(shí)刪除任務(wù)欄通知區(qū)圖標(biāo)。如果讀者有興趣可以很容易地把它移植成基于 MFC 的程序。

  1、任務(wù)欄通知區(qū)

  Windows 95的任務(wù)欄中有一個(gè)通知區(qū), 應(yīng)用程序可以把一個(gè)圖標(biāo)放入其中,以表示操作狀態(tài),并可以有與之相關(guān)聯(lián)的工具用作說明控制。當(dāng)鼠標(biāo)出現(xiàn)在此圖標(biāo)的矩形邊界內(nèi)時(shí),向相應(yīng)的應(yīng)用程序發(fā)送應(yīng)用程序定義的回調(diào)消息。應(yīng)用程序通過發(fā)送消息增加、修改、刪除任務(wù)欄圖標(biāo)。消息的發(fā)送通過調(diào)用函數(shù)Shell_NotifyIcon來完成,如果調(diào)用成功,則返回TRUE;否則,返回FALSE。Shell_NotifyIcon函數(shù)原形如下:
WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(
  DWORD dwMessage, // 消息標(biāo)識符
  PNOTIFYICONDATA pnid // NOTIFYICONDATA 結(jié)構(gòu)
  );
     消息標(biāo)識符可以是 :
  NIM_ADD 向任務(wù)欄通知區(qū)加入圖標(biāo)
  NIM_DELETE 從任務(wù)欄通知區(qū)刪除圖標(biāo)
  NIM_MODIFY 改變?nèi)蝿?wù)欄通知區(qū)圖標(biāo)
     NOTIFYICONDATA 結(jié)構(gòu):
  typedef struct _NOTIFYICONDATA {
   DWORD cbSize;
   HWND hWnd;
   UINT uID;
   UINT uFlags;
  UINT uCallbackMessage;
  HICON hIcon;
  char szTip[64];
  } NOTIFYICONDATA, *PNOTIFYICONDATA;
     其中:
  cbSize NOTIFYICONDATA 結(jié)構(gòu)大小
  hWnd 接收回調(diào)消息窗口句柄
  uID 任務(wù)欄通知區(qū)圖標(biāo)標(biāo)識
  uFlags 指定該結(jié)構(gòu)中那些成員有效
  uCallbackMessage 應(yīng)用程序定義的回調(diào)消息
  hIcon 任務(wù)欄通知區(qū)圖標(biāo)句柄
  szTip 任務(wù)欄通知區(qū)提示字符串
     參數(shù)uFlags可以是下列值的組合:
  NIF_ICON 任務(wù)欄通知區(qū)圖標(biāo)有效
  NIF_MESSAGE 應(yīng)用程序定義的回調(diào)消息有效
  NIF_TIP 任務(wù)欄通知區(qū)提示字符串有效
  a.任務(wù)欄通知區(qū)圖標(biāo)的加入
  BOOL SSLaunch_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)

  {

   // Add an notification icon to the taskbar

   NOTIFYCONDATA nid;

   NOTIFYICONDATA nid;

  
   nid.cbSize = sizeof(nid);

   nid.hWnd = hwnd;

   nid.uID = IDI_SSLAUNCH;

   nid.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;

   nid.uCallbackMessage = WM_SSLAUNCHICONNOTIFY;

   nid.hIcon=LoadIcon(GetWindowInstance(hwnd),

  KEINTRESOURCE(IDI_SSLAUNCH));

   lstrcpyn(nid.szTip,g_szAppName,sizeof(nid.szTip) /sizeof(nid.szTip[0]));

  
   return(Shell_NotifyIcon(NIM_ADD, &nid))

  }

  b.任務(wù)欄通知區(qū)圖標(biāo)的刪除

   應(yīng)用程序退出時(shí),應(yīng)該刪除任務(wù)通知區(qū)上相應(yīng)的圖標(biāo):
  void SSLaunch_OnDestroy(HWND hwnd)

  {

   // Remove the notification icon from the taskbar

  
   NOTIFYICONDATA nid;

   nid.cbSize = sizeof(nid);

   nid.hWnd = hwnd;

   nid.uID = IDI_SSLAUNCH;

  
   Shell_NotifyIcon(NIM_DELETE, &nid);

  }

  c.應(yīng)用程序定義回調(diào)消息的接收

  若為任務(wù)欄通知區(qū)指定了回調(diào)消息,則系統(tǒng)會(huì)于鼠標(biāo)事件在此區(qū)域發(fā)生時(shí)

  向應(yīng)用程序發(fā)送此消息,其中wParam是任務(wù)欄通知區(qū)圖標(biāo)標(biāo)識,lParam

  是鼠標(biāo)事件發(fā)生后的鼠標(biāo)信息。

  
  void SSLaunch_OnIconNotify(WPARAM wParam, LPARAM lParam)

  {

   UINT uID = (UINT)wParam;

   UINT uMsg = (UINT)lParam;

  
   if(uID == IDI_SSLAUNCH){

   switch(uMsg){

   case WM_LBUTTONDOWN :

   //Do something

   break;

  
   case WM_LBUTTONUP :

   //Do something

   break;

  
   default :

   break;

   }

   }

  }

  
  2.禁止多個(gè)Win32實(shí)例

  在討論禁止多個(gè)Win32實(shí)例之前,我們先討論一下WinMain函數(shù)。我們知道,任何一個(gè)基于GDI的Windows程序以WinMain函數(shù)作為入口被系統(tǒng)調(diào)用。在Win16中,hPrevInstance指向前一個(gè)實(shí)例的句柄,但在Win32中,每一個(gè)進(jìn)程都有一個(gè)獨(dú)立的4G地址空間,從0到2G屬于進(jìn)程私有,對其他進(jìn)程來說是不可見的。所以,在Win32中,hPrevInstance總是為NULL。

  
  int WINAPI WinMain(

  HINSTANCE hInstance, // handle to current instance

  HINSTANCE hPrevInstance, // handle to previous instance

  LPSTR lpCmdLine, // pointer to command line

  int nCmdShow // show state of window

  );

  
  因而,在Win32下不能通過判斷hPrevInstance是否為NULL來判斷一個(gè)程序的另一個(gè)實(shí)例是否存在,要用其他的方法來判斷。

  
  方法一

  用FindWindow 函數(shù)查找指定窗口,如果成功,則返回要找的窗口的句柄,否則返回NULL,由此可判斷是否有程序的另一個(gè)實(shí)例存在。

  
  下圖的代碼片段演示如何使用FindWindow函數(shù):

  
  TCHAR szClassName[] = _TEXT("My Wnd Class");

  TCHAR szWndName[] = _TEXT("My Wnd");

  HWND hWnd = FindWindow(szClassName,szWndName);

  
  if(hWnd){

  MessageBox(NULL, _TEXT("Another Instance is already running."), _TEXT("Information"),

   MB_OK | MB_ICONINFORMATION);

  }

  
  需要注意的是,很可能程序的各個(gè)實(shí)例有不同的窗口名,如果象下面這樣調(diào)用FindWindow

   HWND hWnd = FindWindow(szClassName,NULL);

  則查找所有的窗口并匹配窗口類名,如果你能保證你的窗口類名是唯一的,那么你可以信賴FindWindow,否則,你需要用更好的方法。

  
  方法二

  
  通過在EXE之間共享數(shù)據(jù)段從而共享數(shù)據(jù)來判斷是否有程序的另一個(gè)實(shí)例存在。

  每個(gè)EXE或DLL都是由段的集合組成,在Win32程序中,每個(gè)段以點(diǎn)(.)開頭。例如,當(dāng)編譯程序是編譯器時(shí),則將所有代碼放入一個(gè)叫.text的段、將所有未初始化的數(shù)據(jù)放入.bss段、將所有初始化的數(shù)據(jù)放入.data段。

  
  可以給每個(gè)段賦予一個(gè)或多個(gè)屬性(以下為常用的一些段屬性):

  
  READ 段中的數(shù)據(jù)可讀

  WRITE 段中的數(shù)據(jù)可寫

  SHARED 段中的數(shù)據(jù)可被多個(gè)實(shí)例共享

  EXECUTE 段中的數(shù)據(jù)可被執(zhí)行

  
  可以用以下指令生成段:

  #pragma data_seg("Shared")

  static LONG g_lInstanceCount = -1;

  #pragma data_seg()

  
  編譯器生成這段代碼時(shí),產(chǎn)生一個(gè)新段,并把它所在#pragma data_seg("Shared")指令后的初始化數(shù)據(jù)放入新段Shared,未初始化的數(shù)據(jù)放入.bss段。#pragma data_seg()以后的數(shù)據(jù)放回缺省數(shù)據(jù)段。

  
  僅告訴編譯器把特定數(shù)據(jù)放入自己的段內(nèi)還不足以共享它們,還要告訴鏈接器在某一特定段內(nèi)變量要共享?梢栽阪溄訒r(shí)指定這個(gè)段的屬性。

  /section:Shared,rws

   段名 屬性

  
  程序初始化時(shí),例如調(diào)用WinMain函數(shù)時(shí),調(diào)用InterlockedIncrement函數(shù)使共享段內(nèi)變量加1,就可以通過判斷共享段內(nèi)變量的值來判斷一個(gè)程序有幾個(gè)實(shí)例在運(yùn)行。以下代碼演示了如何判斷一個(gè)正在運(yùn)行的程序?qū)嵗沁@個(gè)程序的第一個(gè)實(shí)例。

  
  BOOL bIsFirstInstance = (InterlockedIncrement(&g_lInstanceCount) == 0);

   if(!bIsFirstInstance){

   MessageBox(NULL, _TEXT("Screen Saver Launcher is already running."), g_szAppName,

   MB_OK | MB_ICONINFORMATION);

   }

  
  使共享段內(nèi)變量加1,沒使用 g_lInstanceCount ++,而是使用InterlockedIncrement(&g_lInstanceCount),因?yàn)镮nterlockedIncrement函數(shù)對變量的訪問進(jìn)行同步(Synchronize),阻止多個(gè)線程同時(shí)訪問同一個(gè)變量。有關(guān)線程同步的內(nèi)容請參閱有關(guān)Win32 SDK的文檔。

  禁止多個(gè)Win32實(shí)例的方法很多,如Win32核心對象(Mutex, Semaphore)、全局原子等都可以用來禁止多個(gè)Win32實(shí)例,在這里我們只簡單地介紹以上兩種方法。

  
  3.Screen Saver Launch:

  屏幕保護(hù)程序是以scr為擴(kuò)展名的標(biāo)準(zhǔn)Windows可執(zhí)行程序。當(dāng)編輯可用屏幕保護(hù)程序的列表時(shí),Control Panel Desktop Applet在Windows啟動(dòng)目錄(Windows目錄和系統(tǒng)目錄)下查找擴(kuò)展名是scr的基于Windows的可執(zhí)行程序,如果Windows目錄和系統(tǒng)目錄下同時(shí)存在相同文件名的屏幕保護(hù)程序,則忽略Windows目錄下的那一個(gè)。任何蓄意的搗亂(如將文本文件或是基于DOS的可執(zhí)行文件擴(kuò)展名改為scr)Window95都不予理睬,但是將標(biāo)準(zhǔn)Windows可執(zhí)行程序的擴(kuò)展名改為scr時(shí),Windows95及NT將不會(huì)察覺。這只是很極端的情況,相信用戶不會(huì)采用這種做法來"測試"你的Windows.

  標(biāo)準(zhǔn)的基于Win32的屏幕保護(hù)程序必須按照嚴(yán)格的標(biāo)準(zhǔn)編寫,有關(guān)詳細(xì)介紹請參閱有關(guān)Win32 SDK文檔。這里需要提到的一點(diǎn)是所有的基于Win32的屏幕保護(hù)程序都要求有一個(gè)不超過25個(gè)字符的說明字符串。在屏幕保護(hù)程序的資源字符串表中,這個(gè)說明字符串的標(biāo)識必須是1。

  但我們發(fā)現(xiàn)在Windows 95下的屏幕保護(hù)程序不完全是嚴(yán)格按照標(biāo)準(zhǔn)編寫的,當(dāng)編輯可用屏幕保護(hù)程序的列表時(shí),Control Panel Desktop Applet只是簡單地把屏幕保護(hù)程序的文件名加入列表,而不是加入上面提及的說明字符串。而在Windows NT下,系統(tǒng)嚴(yán)格區(qū)分標(biāo)準(zhǔn)的和非標(biāo)準(zhǔn)的屏幕保護(hù)程序。對于標(biāo)準(zhǔn)的屏幕保護(hù)程序,系統(tǒng)取得它的說明字符串并將其顯示在屏幕保護(hù)程序的列表中;對于非標(biāo)準(zhǔn)的屏幕保護(hù)程序,系統(tǒng)只把它的文件名加入列表。

  由于Windows 95和Windows NT下屏幕保護(hù)程序的列表顯示略有不同,所以這里分別加以說明。為區(qū)別起見,Windows 95下的SSLaunch用SSLaunch95表示,Windows NT下的SSLaunch用SSLaunchNT表示。

  SSLaunch95 采用Window 95調(diào)用屏幕保護(hù)程序的方法,在Windows95的啟動(dòng)目錄下搜索屏幕保護(hù)程序,把文件名加到任務(wù)欄通知區(qū)圖標(biāo)上下文菜單中,單擊鼠標(biāo)即可啟動(dòng)相應(yīng)的屏幕保護(hù)程序。Windows 95把用戶選中的屏幕保護(hù)程序名保存在 System.ini文件中\(zhòng)boot\SCRNSAVE.EXE 下。SSLaunch95比較系統(tǒng)保存的用戶選中的屏幕保護(hù)程序名和搜索到的屏幕保護(hù)程序名,如果相同,則在任務(wù)欄通知區(qū)圖標(biāo)上下文菜單的相應(yīng)菜單項(xiàng)設(shè)置檢查標(biāo)志,以表示這個(gè)屏幕保護(hù)程序是否是當(dāng)前用戶選中的。SSLaunch95沒有判斷Windows啟動(dòng)目錄下的屏幕保護(hù)程序是否是真正的屏幕保護(hù)程序,因?yàn)閃indows 95下的Win32不能輕易地判斷一個(gè)scr文件是否是基于GDI的Windows可執(zhí)行文件(NE 或PE格式)。作者找到了兩個(gè)可用于判斷文件類型的函數(shù):SHGetFileInfo,GetBinaryType。SHGetFileInfo可以判斷出.exe、.com、.bat幾種文件類型,但認(rèn)為.scr文件不是可執(zhí)行文件;GetBinaryType可以輕易地判斷出文件類型,但Windows 95不支持,只是簡單地返回ERROR_NOT_IMPLEMENT,而Win32卻支持它。

  點(diǎn)擊示意圖

  SSLaunch95也可以在Windows NT 下運(yùn)行,不過彈出的上下文菜單不能用屏幕保護(hù)程序說明字符串填充,并且不能判斷scr是否是基于GDI的Windows可執(zhí)行程序。

  下面介紹SSLaunchNT在Windows NT下對scr文件的判別,以及從scr文件資源中取得屏幕保護(hù)程序描述字符串的方法。

  a.對scr文件的判別

  Windows NT提供了對GetBinaryType函數(shù)的支持,因此,可用此函數(shù)判斷一個(gè)scr文件是否是Windows可執(zhí)行程序,并判斷出它是基于Win16還是 Win32的可執(zhí)行程序。這一點(diǎn)很重要,因?yàn),對基于Win32的scr文件,我們在后面要取得它的字符串資源中的一個(gè)重要信息,及對屏幕保護(hù)程序的描述字符串。還應(yīng)注意的是,lpApplicationName應(yīng)給出全路徑,否則,它只在進(jìn)程所在的路徑下尋找文件,這樣會(huì)導(dǎo)致錯(cuò)誤,從而不能返回在Windows啟動(dòng)目錄下的.scr文件的信息。


  BOOL GetBinaryType(

  LPCTSTR lpApplicationName,

  LPDWORD lpBinaryType

  );

  GetBinaryType調(diào)用成功后,lpBinaryType指向的DWORD返回以下值:

  SCS_32BIT_BINARY 基于Win32的應(yīng)用程序

  SCS_DOS_BINARY 基于MS-DOS的應(yīng)用程序

  SCS_OS216_BINARY 基于16位OS/2的應(yīng)用程序

  SCS_PIF_BINARY MS-DOS應(yīng)用程序的PIF 文件

  SCS_POSIX_BINARY 基于POSIX的應(yīng)用程序

  SCS_WOW_BINARY 基于16位Windows的應(yīng)用程序

  b.從scr文件字符串資源中取得屏幕保護(hù)文件描述字符串

  當(dāng)我們判斷出了一個(gè)基于Win32的scr文件后,就可以著手取得它的字符串。在Win32中,有一種簡單有效的方法:把一個(gè)EXE或DLL文件以數(shù)據(jù)文件方式加載,調(diào)用LoadLibraryEx函數(shù)。

  HINSTANCE LoadLibraryEx(

  LPCTSTR lpLibFileName, // EXE或DLL文件名

  HANDLE hFile, // 保留參數(shù),必須為NULL

  DWORD dwFlags // 函數(shù)入口標(biāo)志

  );

  dwFlags可以是0或以下標(biāo)志的組合:

  DON'T_RESOLVE_DLL_REFERENCES 系統(tǒng)將DLL映射到進(jìn)程的地址空間而不調(diào)用DllMain函數(shù)。

  LOAD_LIBRARY_AS_DATAFILE 系統(tǒng)將DLL象一個(gè)數(shù)據(jù)文件那樣映射到進(jìn)程的地址空間,而不調(diào)用DllMain函數(shù)。如果要取得EXE中的資源,也可調(diào)用LoadLibraryEx函數(shù)把EXE映射到進(jìn)程地址空間。

  LOAD_WITH_ALTERED_SEARCH_PATH 將改變LoadLibraryEx在定位DLL文件時(shí)所采用的方法。

  
  當(dāng)以LOAD_LIBRARY_AS_DATAFILE的方式調(diào)用LoadLibraryEx時(shí),系統(tǒng)只是簡單地創(chuàng)建一個(gè)文件映象對象,把DLL(EXE)映射到本進(jìn)程的地址空間,并不調(diào)用DllMain(WinMain)。如果調(diào)用成功,則函數(shù)返回一個(gè)HINSTANCE,即被映射到本進(jìn)程地址空間的DLL(EXE)的裝入地址,這樣,就可以調(diào)用LoadString函數(shù),從DLL(EXE)文件的字符串資源表中取得指定的字符串。

  點(diǎn)擊示意圖

  這里仍需指出的是,必須判斷LoadString函數(shù)調(diào)用是否成功,因?yàn)橛行﹕cr文件(即使是基于Win32的)也有可能是非標(biāo)準(zhǔn)的(如Windows 95下的大多數(shù)scr文件),如果LoadString調(diào)用失敗,則SSLaunchNT用文件名取代scr的描述字符串填入SSLaunchNT上下文菜單的菜單項(xiàng)。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
亚洲成人免费网站| 日韩和欧美的一区二区| 天天超碰亚洲| 国产chinese中国hdxxxx| 日韩免费观看在线观看| 一区二区三区四区在线免费视频| 成人激情电影在线看| 国产美女永久无遮挡| 国产激情无套内精对白视频| 日本三级中文字幕在线观看| 日韩av网站免费在线| 西西人体44www大胆无码| 午夜精品久久久久久久白皮肤| 天堂在线视频免费观看| 91精品啪在线观看国产爱臀| 91精品中文字幕一区二区三区| 久久久精品视频在线| 国产日产精品一区二区三区的介绍| 久久亚洲国产成人精品性色| 91视频com| 亚洲精品视频一区二区| www.亚洲人| 国产hs免费高清在线观看| **亚洲第一综合导航网站| 亚洲日本中文字幕| 亚洲第一区第二区第三区| 999精品在线视频| 日本高清视频网站www| 毛片毛片女人毛片毛片| 亚洲精品久久一区二区三区777| 天堂网中文在线| 成人高清在线观看视频| 中文一区二区视频| 一级黄色录像毛片| 在线播放高清视频www| 亚洲色偷偷色噜噜狠狠99网| 三上悠亚在线一区| 午夜精品一区二区在线观看| 91麻豆视频在线观看| 久久久之久亚州精品露出| 91成人伦理在线电影| 亚洲第一二三区| 手机在线免费观看av| 亚洲综合色视频在线观看| 97人人做人人人难人人做| 日韩美女黄色片| 国产欧美日本在线| 日本黄色免费视频| 精品国产电影一区二区| av天在线播放| 免费成人高清视频| 欧美黑人狂野猛交老妇| 精品网站999| 美女扒开大腿让男人桶| 国产欧美日韩综合一区在线播放| 亚洲综合99| 亚洲天堂网在线播放| 久久成年人免费电影| 日本中文字幕伦在线观看| 18欧美乱大交| 极品少妇一区二区| 九九久久久久久久久激情| 国产精品免费区二区三区观看| 5566中文字幕一区二区电影| 亚洲欧美综合久久久| 91精品在线观| 麻豆国产入口在线观看免费| 国产精品青草久久久久福利99| 国产一区二区电影在线观看| 一个人免费观看在线视频www| 成人ar影院免费观看视频| 欧美大片日本大片免费观看| 17c精品麻豆一区二区免费| 免费在线看大片无需流量| 国产精品久久综合青草亚洲AV| av免费网站在线观看| 91精品综合久久久久久久久久久| 久久狠狠高潮亚洲精品| 亚洲sss综合天堂久久| 成人精品影视| 国产欧美日韩精品在线观看| 久久综合图区亚洲综合图区| 国产在线视频第一页| 国产色视频一区二区三区qq号| 四虎成人在线观看| 国产成人高潮免费观看精品| 久久这里只精品| 性色av一区二区三区免费| 国产精品视频自在线| 三级福利片在线观看| 91free张津瑜movies| 波多野结衣喷潮| 欧美久久99| 精品国产91久久久久久浪潮蜜月| 精品久久网站| 国产又白又嫩又爽又黄| 日韩一区二区不卡视频| 国产在线视精品麻豆| 亚洲黄色一区二区| 蜜桃传媒在线| 天堂www在线а√天堂| 欧美美女福利视频| 精品国产免费一区二区三区| 亚洲狼人综合网| 欧美日韩高清一区二区三区| 久久久五月天| 亚洲熟妇av乱码在线观看| 做爰高潮hd色即是空| 偷偷色噜狠狠狠狠的777米奇| 麻豆9191精品国产| 在线观看一区二区三区四区| 69成人精品免费视频| 91精品国产综合久久久久久豆腐| 福利视频午夜| 免费久久久一本精品久久区| 亚洲欧洲99久久| 亚洲成人tv网| 色爱av美腿丝袜综合粉嫩av| 国产精品久久久久久无人区| 韩国精品主播一区二区在线观看| 亚洲男人天堂2017| 欧美性猛交xxxx免费看漫画| 午夜激情福利电影| 欧美hdfree性xxxx| 综合久久2023| 国产视频精品一区二区三区| 欧美另类变人与禽xxxxx| 久久久精品视频在线观看| 99精品国产在热久久| 不卡电影一区二区三区| 麻豆最新免费在线视频| 国产精品无码一本二本三本色| 国产精品三区四区| 性生活在线视频| 成人在线影视| 国产精品国产三级国产aⅴ| 美腿丝袜亚洲色图| 国产美女精品免费电影| 全球成人中文在线| 99久热re在线精彩视频| 浅井舞香一区二区| 亚洲色图都市小说| 免费看日本一区二区| 国产精品永久| 日韩av黄色在线观看| 不卡的av在线播放| 国产精品视频一二| 成人一区二区在线观看| 国产大学生校花援交在线播放| 少妇影院在线观看| 欧美 亚欧 日韩视频在线| аⅴ资源新版在线天堂| 中日韩一区二区三区| 日本精品一区二区三区四区| 少妇高潮av久久久久久| 成人国产在线| 亚洲第一狼人社区| 果冻天美麻豆一区二区国产| 欧美视频免费看欧美视频| 国产精品久久久久免费| 免费av成人在线| 日韩免费高清在线观看| 国产传媒在线观看| 久久色.com| 久久99精品波多结衣一区| 美女被黑人40厘米进入| 青青草精品视频在线观看| 一代武则天秘史| 欧美精品一区二区三区四区| 亚洲一区二区三区中文字幕在线| 91精品综合久久久久久久久久久| 韩国中文字幕av| 天堂网在线中文| 性色av无码久久一区二区三区| 色妇色综合久久夜夜| 亚洲国产精品视频一区| 在线天堂中文资源最新版| 成人ssswww在线播放| 91手机在线观看| 国产性生活免费视频| 亚洲三级黄色在线观看| 国产精品99久久久久久大便| 秋霞视频一区二区| 中文一区一区三区高中清不卡免费| 亚洲国产精品久久久久| 羞羞在线观看网站| 国产成人无码专区| 黑人精品一区二区| 91在线免费视频观看| 国产精品成人国产乱| 欧美一级一片| 午夜在线成人av| 亚洲色图38p| 国模大尺度一区二区三区| 婷婷色播视频| www.欧美精品一二三区| 欧美国产日本在线| 中文字幕在线视频播放| 一区二区免费在线| 9国产精品午夜| 在线视频 91| 99国产精品久久久久| 亚洲男女毛片无遮挡| 国产二区视频在线播放| 亚洲一区免费网站| 亚洲色图综合图区| 久久一二三区| 日韩一区二区麻豆国产| 国产乱在线观看完整版视频| 亚洲一级av无码毛片精品| 国产精品毛片一区二区| 青青久久av北条麻妃海外网| 亚洲一区二区在线播放相泽| 国产成人午夜精品5599| 亚洲精品自在在线观看| 九色porny丨首页在线| 涩爱av色老久久精品偷偷鲁| 精品国产乱码久久久久久蜜坠欲下| 国产精品一区二区三区观看| 亚洲一区二区三区四区五区中文| 亚洲日本理论电影| 久久精品一二三区| 亚洲av无码精品一区二区| 国产综合色在线视频区| 久久久久久久久久影院| 亚洲色图制服诱惑| 国产调教一区二区三区| 国产福利a级| 亚洲天堂免费看| 欧美日免费三级在线| 日本中文字幕在线2020| 精品美女国产在线| 欧美精品偷拍| 九色91视频| 久久久欧美精品sm网站| 欧美一区二区三区图| 99久久久久免费精品国产| 色哦色哦哦色天天综合| 精品国产一区二区三区四区精华| 黑人乱码一区二区三区av| 九色91偷拍| 中国色在线日|韩| 激情综合婷婷| 成人avav影音| 成人毛片100部免费看| 在线不卡免费av| 女尊高h男高潮呻吟| 中文字幕一区二区三区四区欧美| 国产男女免费视频| 久久久777精品电影网影网| 最近高清中文在线字幕在线观看1| 一级做a爱片久久毛片| 无码无遮挡又大又爽又黄的视频| 日韩成人av在线| jizz蜜桃视频在线观看| 美女黄视频在线观看| 欧美日韩在线视频一区二区| 麻豆久久久av免费| 久久久天堂国产精品| 欧美日韩国产网站| www.狠狠插| 欧美tickling网站挠脚心| 久久国产麻豆精品| 久久精品aaaaaa毛片| 精品国产av无码一区二区三区| 免费看日韩毛片| 成人精品电影| 天堂成人在线观看| 久久久久久免费精品| 欧美成年人视频| caoporn-草棚在线视频最| 日韩亚洲一区中文字幕| 国产精品福利电影| 国产精品乱人伦一区二区| 绯色av一区| 北岛玲一区二区| 美女少妇一区二区| 91精品国产美女浴室洗澡无遮挡| 亚洲精品videosex极品| 成年人午夜久久久| 五月天婷婷在线播放| 日韩一区二区在线视频| 欧美一级日韩免费不卡| 欧美性天天影院| 污视频网址在线观看| 亚洲aⅴ在线观看| 91碰在线视频| 亚洲精品美女久久7777777| 久操国产精品| 国产一区二区视频在线播放| 欧美艳星brazzers| 九九热在线视频观看| 99久久免费国产| 久久一区二区三区四区| 国产三级做爰高清在线| 国产精彩视频在线观看免费蜜芽| 久久99蜜桃精品久久久久小说| 精品一区二区三区五区六区七区| 欧美日韩国产综合在线| 欧美激情图片小说| 国产福利视频导航| 精品无码久久久久久久久| 国产一区久久精品| 另类国产ts人妖高潮视频| 国产91porn| 尤物精品国产第一福利三区| 在线亚洲高清视频| 午夜小视频在线| 北条麻妃在线| 国产探花视频在线观看| 最近中文字幕在线| 中文字幕第一页av| 久草在线资源站手机版| www五月天com| 成人影院久久久久久影院| 日韩欧美国产另类| 91精品国产一区二区三区蜜臀| 韩国成人福利片在线播放| 国外成人福利视频| 亚洲色图激情小说| 国产ts人妖调教重口男| 欧美xx视频| 日本成人激情视频| 日本电影一区二区在线观看| 欧美激情一二三区| 日韩精品一区二区免费| 国产日韩中文字幕| 中文字幕日韩亚洲|