精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Windows 7編程新特性Shell Library接口介紹

開發 后端
這里將介紹Windows 7編程新特性Shell Library,Windows 7中引入了新的文件管理方式:庫(Library),可以更快更便捷管理和搜索數據。

Windows 7的上線日期日益臨近,關于Windows 7編程新特性的文章頁開始出現,目前看來很多Windows 7編程新特性都是圍繞.NET平臺進行的,畢竟都是微軟一家的東西。

下文所用到的示例代碼來源于微軟一站式開發技術框架解決方案。你可以通過http://cfx.codeplex.com/Release/ProjectReleases.aspx下載到Windows 7 Shell Library相關的sample。其中包含C++、C#、VB.NET對Shell Library操作的示例代碼:CppWin7ShellLibrary, C#Win7ShellLibrary, VBWin7ShellLibrary。

為了幫助用戶更加有效地對硬盤上的文件進行管理,Windows 7中引入了新的文件管理方式:庫(Library)。庫自然演化自以往操作系統中My Documents 文件夾這個概念。有了庫,我們就可以將多個相關的文件夾組織到同一個庫下,從而更快更便捷地管理和搜索數據。

創建Windows Shell Library

Windows 7提供了SHCreateLibrary API用來創建一個Shell Library:

  1. C++ CreateShellLibrary  
  2. /**//*!  
  3. * Create a new shell library under the user's Libraries folder. If a library   
  4. * with the same name already exists, the new one overrides the existing one.  
  5.  
  6. * \param pwszLibraryName  
  7. * The name of the shell library to be created.   
  8. */ 
  9. BOOL CreateShellLibrary(LPWSTR pwszLibraryName)  
  10. {  
  11.     /**//////////////////////////////////////////////////////////////////////////  
  12.     // Create the shell library COM object.  
  13.     //   
  14.  
  15.     IShellLibrary* pShellLib = NULL;  
  16.     HRESULT hr = SHCreateLibrary(IID_PPV_ARGS(&pShellLib));  
  17.     if (FAILED(hr))  
  18.     {  
  19.         _tprintf(_T("SHCreateLibrary failed to create the shell library ") \  
  20.             _T("COM object w/err 0x%08lx\n"), hr);  
  21.         return FALSE;  
  22.     }  
  23.  
  24.  
  25.     /**/////////////////////////////////////////////////////////////////////////  
  26.     // Save the new library under the user's Libraries folder.  
  27.     //   
  28.  
  29.     IShellItem* pSavedTo = NULL;  
  30.     hr = pShellLib->SaveInKnownFolder(FOLDERID_UsersLibraries,   
  31.         pwszLibraryName, LSF_OVERRIDEEXISTING, &pSavedTo);  
  32.     if (FAILED(hr))  
  33.     {  
  34.         _tprintf(_T("IShellLibrary::SaveInKnownFolder failed to save the ") \  
  35.             _T("library w/err 0x%08lx\n"), hr);  
  36.         return FALSE;  
  37.     }  
  38.  
  39.  
  40.     /**//////////////////////////////////////////////////////////////////////////  
  41.     // Clean up.  
  42.     //   
  43.  
  44.     if (pShellLib != NULL)  
  45.         pShellLib->Release();  
  46.  
  47.     if (pSavedTo != NULL)  
  48.         pSavedTo->Release();  
  49.  
  50.     return TRUE;  
  51. }  
  52.    
  53.  
  54. /**//////////////////////////////////////////////////////////////////////  
  55. // Create a shell library.  
  56. //   
  57.  
  58. using (ShellLibrary library = new ShellLibrary(libraryName, true))  
  59. {  

管理Windows Shell Library

你可以通過調用SHShowManageLibraryUI API顯示出Windows 標準的Shell Library管理對話框。值得注意的是,在調用SHShowManageLibraryUI前請確保 shell library沒有被以可寫方式打開。否則在SHShowManageLibraryUI中對shell library的修改將無法被保存。

C++ ShowManageLibraryUI

  1. C++ ShowManageLibraryUI  
  2. /**//*!  
  3. * Shows the library management dialog box of the specified library, which   
  4. * enables users to manage the library folders and default save location.  
  5.  
  6. * \param pwszLibraryName  
  7. * The name of the shell library  
  8. */ 
  9. BOOL ShowManageLibraryUI(LPWSTR pwszLibraryName)  
  10. {  
  11.     // Get the shell item that represents the library.  
  12.     IShellItem2* pShellItem = GetShellLibraryItem(pwszLibraryName);  
  13.  
  14.     HRESULT hr = SHShowManageLibraryUI(pShellItem, NULL,   
  15.         L"CppWin7ShellLibrary", L"Manage Library folders and settings",   
  16.         LMD_ALLOWUNINDEXABLENETWORKLOCATIONS);  
  17.  
  18.     // Clean up  
  19.     if (pShellItem != NULL)  
  20.         pShellItem->Release();  
  21.  
  22.     return SUCCEEDED(hr);  
  23. }  
  24.  
  25.  
  26.  
  27. C# ShowManageLibraryUI  
  28. // ShowManageLibraryUI requires that the library is not currently   
  29. // opened with write permission.   
  30. ShellLibrary.ShowManageLibraryUI(libraryName, IntPtr.Zero,  
  31.     "CSWin7ShellLibrary""Manage Library folders and settings"true); 

向Shell Library中添加文件夾

SHAddFolderPathToLibrary可用來向指定的Shell Library中添加文件夾。

  1. C++ AddFolderToShellLibrary  
  2. /**//*!  
  3. * Add a folder to an existing shell library.  
  4.  
  5. * \param pShellLib  
  6. * The IShellLibrary interface of the shell library  
  7.  
  8. * \param pwszFolderPath  
  9. * The path of the folder to be added into the shell library  
  10.  
  11. * \param bSaveLocation  
  12. * If bSaveLocation is TRUE, set the folder as the save location of the shell   
  13. * library  
  14. */ 
  15. BOOL AddFolderToShellLibrary(IShellLibrary* pShellLib,   
  16.                              LPWSTR pwszFolderPath, BOOL bSaveLocation)  
  17. {  
  18.     HRESULT hr = SHAddFolderPathToLibrary(pShellLib, pwszFolderPath);  
  19.     if (FAILED(hr))  
  20.     {  
  21.         _tprintf(_T("SHAddFolderPathToLibrary failed to add a folder ") \  
  22.             _T("to the shell library w/err 0x%08lx\n"), hr);  
  23.         return FALSE;  
  24.     }  
  25.  
  26.     // Save the folder as the save location of the shell library  
  27.     if (bSaveLocation)  
  28.     {  
  29.         // Create shell item from folder path  
  30.         IShellItem2* pShellItemSaveFolder = NULL;  
  31.         hr = SHCreateItemFromParsingName(pwszFolderPath, 0,   
  32.             IID_PPV_ARGS(&pShellItemSaveFolder));  
  33.         if (FAILED(hr))  
  34.         {  
  35.             _tprintf(_T("SHCreateItemFromParsingName failed w/err ") \  
  36.                 _T("0x%08lx\n"), hr);  
  37.             return FALSE;  
  38.         }  
  39.  
  40.         // Set the folder as the save location  
  41.         pShellLib->SetDefaultSaveFolder(DSFT_DETECT, pShellItemSaveFolder);  
  42.           
  43.         if (pShellItemSaveFolder != NULL)  
  44.             pShellItemSaveFolder->Release();  
  45.  
  46.         if (FAILED(hr))  
  47.         {  
  48.             _tprintf(_T("IShellLibrary::SetDefaultSaveFolder failed ") \  
  49.                 _T("w/err 0x%08lx\n"), hr);  
  50.             return FALSE;  
  51.         }  
  52.     }  
  53.  
  54.     // Commit the change of the shell library  
  55.     pShellLib->Commit();  
  56.  
  57.     return TRUE;  
  58. }  
  59.    
  60.  
  61. C# AddFolderToShellLibrary  
  62. using (ShellLibrary library = ShellLibrary.Load(libraryName, false))  
  63. {  
  64.     /**//////////////////////////////////////////////////////////////////  
  65.     // Add a folder to the shell library.  
  66.     //   
  67.  
  68.     // Add the folder to the shell library  
  69.     library.Add(folderPath);  
  70.     library.DefaultSaveFolder = folderPath;  

枚舉Shell Library中的文件夾
IShellLibrary::GetFolders可用來得到Shell Library中的文件夾。

  1. C++ ListFoldersInShellLibrary  
  2. /**//*!  
  3. * List all folders in the shell library.  
  4.  
  5. * \param pShellLib  
  6. * The IShellLibrary interface of the shell library  
  7. */ 
  8. void ListFoldersInShellLibrary(IShellLibrary* pShellLib)  
  9. {  
  10.     HRESULT hr = S_OK;  
  11.  
  12.     IShellItemArray* pShellItemArray = NULL;  
  13.     pShellLib->GetFolders(LFF_ALLITEMS, IID_PPV_ARGS(&pShellItemArray));  
  14.     if (FAILED(hr))  
  15.     {  
  16.         _tprintf(_T("IShellLibrary::GetFolders failed to get the folders ") \  
  17.             _T("of the shell library w/err 0x%08lx\n"), hr);  
  18.         return;  
  19.     }  
  20.  
  21.     DWORD dwFolderCount;  
  22.     pShellItemArray->GetCount(&dwFolderCount);  
  23.  
  24.     // Iterate through all folders of the shell library  
  25.     for (DWORD i = 0; i < dwFolderCount; i++)  
  26.     {  
  27.         IShellItem *pShellItem;  
  28.         hr = pShellItemArray->GetItemAt(i, &pShellItem);  
  29.         if (FAILED(hr))  
  30.             continue;  
  31.  
  32.         // Convert IShellItem to IShellItem2  
  33.         IShellItem2 *pShellItem2;  
  34.         pShellItem->QueryInterface(IID_PPV_ARGS(&pShellItem2));  
  35.         pShellItem->Release();  
  36.  
  37.         // Fix folder path changes  
  38.         IShellItem2 *pShellItemResolvedFolder = NULL;  
  39.         hr = pShellLib->ResolveFolder(pShellItem2, 5000, IID_PPV_ARGS(  
  40.             &pShellItemResolvedFolder));  
  41.         if (SUCCEEDED(hr))  
  42.         {  
  43.             // Point to the fixed folder  
  44.             pShellItem2->Release();  
  45.             pShellItem2 = pShellItemResolvedFolder;  
  46.         }  
  47.         // Else we will show the unfixed folder  
  48.  
  49.         // Print the folder path  
  50.         LPWSTR wszFolderPath;  
  51.         hr = pShellItem2->GetString(PKEY_ParsingPath, &wszFolderPath);  
  52.         if (SUCCEEDED(hr))  
  53.         {  
  54.             _putws(wszFolderPath);  
  55.         }  
  56.         CoTaskMemFree(wszFolderPath);  
  57.  
  58.         // Clean up  
  59.         pShellItem2->Release();  
  60.     }  
  61.  
  62.     pShellItemArray->Release();  
  63. }  
  64.  
  65.  
  66.  
  67. C# ListFoldersInShellLibrary  
  68. using (ShellLibrary library = ShellLibrary.Load(libraryName, false))  
  69. {  
  70.     /**//////////////////////////////////////////////////////////////////  
  71.     // List all folders in the library.  
  72.     //   
  73.  
  74.     foreach (ShellFolder folder in library)  
  75.     {  
  76.         Console.WriteLine(folder);  
  77.     }  

刪除一個Shell Library

  1. C++ DeleteShellLibrary  
  2. /**//*!  
  3. * Delete the shell library under the user's Libraries folder according to the   
  4. * specified library name.   
  5.  
  6. * \param pwszLibraryName  
  7. * The name of the shell library to be deleted.  
  8. */ 
  9. BOOL DeleteShellLibrary(LPWSTR pwszLibraryName)  
  10. {  
  11.     /**//////////////////////////////////////////////////////////////////////////  
  12.     // Get the shell item that represents the library and its full path.  
  13.     //   
  14.  
  15.     IShellItem2* pShellItem = GetShellLibraryItem(pwszLibraryName);  
  16.  
  17.     // Get the file-system full path of the shell item  
  18.     LPWSTR wszLibraryFullPath;  
  19.     pShellItem->GetString(PKEY_ParsingPath, &wszLibraryFullPath);  
  20.  
  21.  
  22.     /**//////////////////////////////////////////////////////////////////////////  
  23.     // Delete file with the library file-system based full path.  
  24.     //   
  25.  
  26.     BOOL bSuccess = DeleteFileW(wszLibraryFullPath);  
  27.  
  28.     // Clean up  
  29.     CoTaskMemFree(wszLibraryFullPath);  
  30.     if (pShellItem != NULL)  
  31.         pShellItem->Release();  
  32.  
  33.     return bSuccess;  
  34. }  
  35.  
  36.  
  37.  
  38. C# DeleteShellLibrary  
  39. /**//////////////////////////////////////////////////////////////////////  
  40. // Delete the shell library.  
  41. //   
  42.  
  43. string librariesPath = Path.Combine(Environment.GetFolderPath(  
  44.     Environment.SpecialFolder.ApplicationData),   
  45.     ShellLibrary.LibrariesKnownFolder.RelativePath);  
  46.  
  47. string libraryPath = Path.Combine(librariesPath, libraryName);  
  48. string libraryFullPath = Path.ChangeExtension(libraryPath, "library-ms");  
  49.  
  50. File.Delete(libraryFullPath); 

Windows 7編程新特性Shell Library接口介紹就到這里吧。

原文標題:Windows 7 新特性 Shell Library 編程接口介紹

鏈接:http://www.cnblogs.com/Jialiang/archive/2009/09/04/Win7ShellLibrary.html

【編輯推薦】

  1. Windows 7開發與微軟850位***人才無關
  2. 微軟發布Windows 7開發者工具包
  3. 微軟Bing由60余名印度研發人員開發
  4. 自由軟件基金會怒斥OLPC已經成為微軟幫兇
  5. 新的開源公司與微軟簽署技術授權協議
責任編輯:彭凡 來源: 博客園
相關推薦

2009-10-27 09:17:00

Windows 7編程接口

2009-08-28 08:46:15

Windows 7防火墻

2011-04-19 18:42:54

Windows Emb特性

2010-06-04 18:19:24

Windows Emb微軟嵌入式Windows Emb

2009-06-21 13:28:10

2010-11-24 16:36:02

Windows PhoUI設計Windows Pho

2013-03-25 11:34:27

Windows Blu

2012-03-14 12:29:55

JavaPlay Framwo

2021-04-30 19:53:41

Java表達式代碼

2010-10-08 09:54:30

IBM AIX 7

2009-05-25 08:56:26

Windows 7壁紙硬件

2013-04-09 12:59:21

WindowsPhon

2009-08-12 13:15:44

C#3.5新特性

2011-07-06 16:38:57

Xcode Preview

2009-08-18 17:03:49

C#3.5新特性

2021-03-06 08:10:16

Redis6 Java架構分布式框架

2009-03-24 11:54:12

2009-08-19 16:51:14

C# 4.0 dyna

2017-01-09 16:25:55

Android Shortcuts系統

2011-07-29 09:31:32

JDK 7
點贊
收藏

51CTO技術棧公眾號

久久激情久久| 亚洲精品无吗| 图片区小说区国产精品视频| 久久精品国产美女| 中文字幕av影视| 欧美激情成人在线| 亚洲天堂第一页| 99精品999| 日韩伦理在线一区| 亚洲精品中文字幕在线观看| 久久久久久精| 99久久精品免费看国产交换| 中文一区在线| 久久手机精品视频| 亚洲第一成人网站| 亚洲欧美日本国产| 欧美日韩一区二区三区高清| 欧美综合在线播放| 国产在线观看av| 久久久亚洲欧洲日产国码αv| 亚洲伊人一本大道中文字幕| www.国产一区二区| 国产主播精品| 久久综合电影一区| 亚洲无人区码一码二码三码的含义| 中文字幕久久精品一区二区| 欧美日韩国产成人在线免费| 国产成人a亚洲精v品无码| 黄视频在线免费看| 亚洲免费电影在线| 亚洲欧美日韩在线综合| 美国成人毛片| av网站一区二区三区| 亚洲最大福利视频| 国产又粗又黄又爽| 美女国产一区二区| 国产精品流白浆视频| 中文字幕国产在线观看| 国产日韩专区| 午夜精品久久久久久99热| 三级影片在线看| 天天综合久久| 欧美成人激情视频| 欧美老熟妇一区二区三区| 精品精品久久| 一区二区欧美久久| 亚洲精品国产精品国自| 国产精品一国产精品| 亚洲天堂免费视频| 国产精品无码一区二区三区| 免费视频亚洲| 亚洲香蕉在线观看| 五月天综合视频| 精品国产91久久久久久浪潮蜜月| 亚洲视频在线观看免费| 人妻av无码一区二区三区| 欧美人妖在线| 中文字幕亚洲一区二区三区五十路| 亚洲一区二区自偷自拍| 精品久久久久久久久久久aⅴ| 亚洲午夜未删减在线观看| 日韩一区二区a片免费观看| 狠狠综合久久av一区二区蜜桃| 亚洲欧美一区二区三区情侣bbw| 18禁裸乳无遮挡啪啪无码免费| 猛男gaygay欧美视频| 伊是香蕉大人久久| 少妇高潮一区二区三区喷水| 国产精品99一区二区三| 精品自拍视频在线观看| 久久视频免费在线观看| 六月丁香综合| 国产主播在线一区| 亚洲国产精品suv| 99re热这里只有精品视频| 日本一区视频在线观看免费| 2017亚洲天堂1024| 亚洲精品欧美综合四区| 天天夜碰日日摸日日澡性色av| 午夜伦理福利在线| 欧美日韩国产精选| 99re这里只有| 成人免费在线观看av| 欧美成人免费全部| 国产又黄又粗又爽| 另类小说视频一区二区| 国产高清一区视频| 黑人与亚洲人色ⅹvideos| 亚洲同性gay激情无套| 日韩精品一区二区三区四区五区 | 国产成人免费网站| 欧美精品二区三区四区免费看视频 | 欧美男人的天堂| 天堂аⅴ在线地址8| 亚洲成人自拍网| 日本特黄a级片| 国产精品x8x8一区二区| 一区二区在线视频| 日本一区二区网站| 久久激情综合网| 精品蜜桃一区二区三区| 麻豆最新免费在线视频| 欧美日韩美女视频| 日韩精品视频网址| 精品国产一区二区三区香蕉沈先生 | 欧美国产二区| 中日韩高清电影网| 日本高清不卡一区| 精品无码av一区二区三区| 黄色不卡一区| 97久久久久久| 国产成a人亚洲精v品无码| 久久久国际精品| 男人添女荫道口图片| 日韩av懂色| 亚洲男人天堂久| 日本五十熟hd丰满| 国产精品1区2区| 亚洲国产一区在线| 大胆人体一区二区| 亚洲国产日韩欧美综合久久 | 亚洲成人免费av| 午夜免费福利网站| 日韩av有码| 国产精品999| 性xxxxbbbb| 亚洲国产综合91精品麻豆| 日韩av片专区| 久久精品国产68国产精品亚洲| 国产91网红主播在线观看| 日本毛片在线观看| 亚洲高清三级视频| 日韩精品――色哟哟| 亚洲国产成人精品女人| 国产精品日韩一区| 高清在线观看av| 在线亚洲一区观看| 久久久久久久毛片| 肉肉av福利一精品导航| 欧美三级网色| 国产精品扒开腿做爽爽爽视频软件| 亚洲大胆人体在线| 国产视频91在线| av中文字幕在线不卡| 国产自产在线视频| 激情小说亚洲图片| 97精品国产aⅴ7777| 黄色片一区二区三区| 亚洲高清久久久| 黄色片视频免费观看| 亚洲专区一区二区三区| 欧美成人dvd在线视频| 2022成人影院| 伊人久久精品视频| 国产又大又粗又长| 亚洲欧美偷拍卡通变态| 国产男女无遮挡猛进猛出| 中文字幕日韩一区二区不卡| 51国偷自产一区二区三区的来源 | 日韩欧美在线观看一区二区| 精品福利免费观看| 熟女俱乐部一区二区| 免费人成精品欧美精品 | 狠狠入ady亚洲精品| 国产成人精品日本亚洲11| 888av在线视频| 国产视频丨精品|在线观看| 亚洲永久精品一区| 亚洲欧美怡红院| 精品人妻人人做人人爽夜夜爽| 在线欧美三区| 日日噜噜噜噜夜夜爽亚洲精品| 国产激情欧美| 欧美黄色免费网站| 精品欧美不卡一区二区在线观看| 欧美亚洲高清一区| 天天干中文字幕| 久久综合久色欧美综合狠狠| 亚洲精品手机在线观看| 在线观看一区视频| 日韩国产欧美一区| 欧美在线在线| 欧美制服第一页| 欧美jizzhd69巨大| 亚洲国产欧美一区二区三区久久| 中文字幕乱码一区二区 | 精品国产欧美一区二区五十路| 99久久一区二区| 欧美性少妇18aaaa视频| 亚洲不卡在线播放| 99久久99久久免费精品蜜臀| 成人性生交免费看| 亚洲美女黄色| 在线看无码的免费网站| 欧美午夜寂寞| 91九色国产社区在线观看| 色一区二区三区| 欧美成人中文字幕| av在线中文| 日韩www在线| 国产乱淫av免费| 欧美又粗又大又爽| www.av麻豆| 亚洲黄色小视频| 婷婷丁香综合网| 99国产精品国产精品久久| 一区二区三区国产好的精华液| 久久精品网址| 性高湖久久久久久久久aaaaa| japanese国产精品| 麻豆av一区| 一区中文字幕| 成人免费淫片视频软件| 另类中文字幕国产精品| 国模吧一区二区| av免费在线免费| 在线观看久久久久久| 神马久久高清| 亚洲国产成人精品久久| 国产精品一区二区三区在线免费观看| 一本一本久久a久久精品综合麻豆| 玖玖爱免费视频| 亚洲视频中文字幕| 69xxx免费| 欧美极品少妇xxxxⅹ高跟鞋| 最近中文字幕无免费| 不卡的av在线播放| 精品国产免费久久久久久婷婷| 狠狠色狠狠色综合系列| 美女喷白浆视频| 日韩精品乱码av一区二区| 国产成人无码a区在线观看视频| 国内综合精品午夜久久资源| 青青草影院在线观看| 亚州av乱码久久精品蜜桃| 亚洲国产一区二区精品视频 | 亚洲欧美成人一区二区三区| gv天堂gv无码男同在线观看| 国产清纯白嫩初高生在线观看91 | 好吊日视频在线观看| 色阁综合伊人av| 日本在线观看www| 久久精品国产欧美激情| 在线播放毛片| 久久亚洲精品视频| a级毛片免费观看在线| 欧美精品免费看| 羞羞网站在线看| 久久久久久久久久久成人| av在线网页| 欧美在线视频免费| 欧美色片在线观看| 国产日韩欧美日韩| 欧洲大片精品免费永久看nba| 亚洲精品欧美日韩专区| 在线视频亚洲欧美中文| 好吊色欧美一区二区三区| 日韩在线影视| 婷婷久久五月天| 91精品精品| 国产情侣第一页| 一本色道久久综合| 国产激情在线观看视频| 麻豆成人av在线| 人妻巨大乳一二三区| 成人污污视频在线观看| www.色多多| 国产精品日韩精品欧美在线| 国精产品一区一区二区三区mba| 亚洲精品日韩综合观看成人91| 日韩精品一卡二卡| 在线观看成人免费视频| 国产av无码专区亚洲av麻豆| 337p日本欧洲亚洲大胆色噜噜| 日本不卡视频一区二区| 中文字幕亚洲欧美日韩2019| 一区二区三区伦理| 欧美一级片在线播放| 欧美美女福利视频| dy888夜精品国产专区| 亚洲国产网址| av不卡在线免费观看| 精品动漫3d一区二区三区免费| 情侣黄网站免费看| 激情图片小说一区| 成人在线视频免费播放| 国产精品免费aⅴ片在线观看| 久久精品一区二区三| 日韩欧美aⅴ综合网站发布| 91亚洲国产成人精品一区| 亚洲第一页自拍| 欧美精品hd| 热久久这里只有| 秋霞影院一区| 色综合电影网| 亚洲毛片播放| 污视频在线观看免费网站| 久久久久国产一区二区三区四区| 欧美三级日本三级| 在线观看日韩毛片| 人妻少妇精品无码专区| yellow中文字幕久久| 日韩三级影视| 国产女主播一区二区三区| 成人直播大秀| 日韩欧美精品在线观看视频| 国产一区二区不卡在线| 免费看的黄色录像| 欧美日韩精品中文字幕| 国产成人精品亚洲精品色欲| 亚洲区中文字幕| 成人ssswww在线播放| 91久久精品www人人做人人爽 | 色阁综合伊人av| 一区二区电影免费观看| 国产精品成人一区二区三区| 欧美第一精品| 激情五月婷婷久久| 91丝袜美腿高跟国产极品老师| 久草视频手机在线观看| 欧美一级欧美三级| 国产午夜精品久久久久免费视| 国产精品久久久久福利| 久久91精品| 国产精品-区区久久久狼| 成人av高清在线| 国产一级特黄毛片| 日韩午夜激情免费电影| 黄网站在线播放| 国产热re99久久6国产精品| jiujiure精品视频播放| 欧美日韩亚洲一二三| 久久久久久久电影| 免费的毛片视频| 亚洲欧美国产精品| 日韩新的三级电影| 欧美日韩精品不卡| 另类国产ts人妖高潮视频| 色欲av无码一区二区三区| 黑人巨大精品欧美一区二区免费| 神马一区二区三区| 欧美在线激情网| 国产成人1区| 尤蜜粉嫩av国产一区二区三区| 国产欧美日韩麻豆91| 伊人久久中文字幕| 一区二区三区视频免费| 久久人人视频| 国产手机视频在线观看| 国产精品一卡二卡在线观看| 久久黄色免费网站| 亚洲高清在线观看| 久草在线中文最新视频| 蜜桃av噜噜一区二区三| 日韩精品高清不卡| 国产小视频你懂的| 91精品国产免费| 男女羞羞视频在线观看| 粉嫩高清一区二区三区精品视频| 亚洲日本激情| 性久久久久久久久久| 欧美视频一区二区在线观看| 男人的天堂在线视频免费观看| 亚洲在线www| 亚洲免费大片| 亚洲精品成人av久久| 欧美一区二区在线播放| www欧美xxxx| 日本视频一区二区不卡| 毛片av一区二区| 久久久久97国产| 亚洲欧美视频在线| 国产精品麻豆| 青青艹视频在线| 国产精品久久久久婷婷| av天堂一区二区三区| 91av视频在线| 欧美成人精品一区二区三区在线看| 在线观看一区二区三区视频| 黄色精品在线看| 日本亚洲精品| 久久国产一区| 国精产品一区一区三区mba视频 | 久久一区精品| 99久久99久久精品国产| 精品网站999www| 国产一区二区视频在线看 | 久久精品久久综合| 69精品久久久| www.亚洲男人天堂| 亚洲+变态+欧美+另类+精品| 日韩肉感妇bbwbbwbbw| 亚洲韩国精品一区| 色开心亚洲综合| 欧美高清性xxxxhdvideosex| 国产精品综合在线视频| 波多野结衣电车| 国产做受高潮69| 综合久久精品| 午夜国产福利视频|