亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

一些常用網絡工具歷史記錄的清理

2019-11-17 05:27:13
字體:
來源:轉載
供稿:網友

  bool ClearIEHistory(void) //清理IE緩存
{
try
{
//頁面文件的清理
HANDLE hEntry;
LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL;
DWord dwEntrySize = 0;

hEntry = FindFirstUrlCacheEntry(NULL, NULL, &dwEntrySize);
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
hEntry = FindFirstUrlCacheEntry(NULL, lpCacheEntry, &dwEntrySize);
if(hEntry)
{
do
{
DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
dwEntrySize = 0;
FindNextUrlCacheEntry(hEntry, NULL, &dwEntrySize);
delete [] lpCacheEntry;
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
}
while (FindNextUrlCacheEntry(hEntry, lpCacheEntry, &dwEntrySize));
}

// 清瀏覽網址歷史記錄
HRESULT hr;
IUrlHistoryStg2* pUrlHistoryStg2 = NULL;
CoInitialize(NULL);
hr = CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_INPROC_SERVER, IID_IUrlHistoryStg2, (void**)&pUrlHistoryStg2);
if (SUCCEEDED(hr))
{
hr = pUrlHistoryStg2->ClearHistory();
pUrlHistoryStg2->Release();
}
CoUninitialize();

//瀏覽器地址欄歷史地址的清除
SHDeleteKey(HKEY_CURRENT_USER, _TEXT("Software//Microsoft//Internet EXPlorer//TypedURLs"));

return true;
}
catch(...)
{
return false;
}
}

bool ClearQQHistory(void) //清理QQ賬戶文件夾
{
try
{
LPCTSTR szFullPath, szDirectory;
LPCTSTR szQQRegPath = _TEXT("SOFTWARE//Tencent//PlatForm_Type_List//1//");
LPCTSTR szTMRegPath = _TEXT("SOFTWARE//Tencent//PlatForm_Type_List//2//");
LPCTSTR szQQGameRegPath = _TEXT("SOFTWARE//Tencent//QQGame//SYS//");
LPCTSTR szQQGameCfgFile = _TEXT("config//Info.ini");

if( FindKey_STR(true, szQQRegPath, _TEXT("TypePath")) )
{
if( ReadKey_STR(true, szQQRegPath, _TEXT("TypePath"), MAX_PATH, szFullPath) )
{
if(lstrlen(szFullPath)>=9)
{
szDirectory = new const TCHAR[lstrlen(szFullPath)-6+1]; // /QQ.exe
memset((LPTSTR)szDirectory, TCHAR('/0'), lstrlen(szFullPath)-6+1);
_tcsncpy((LPTSTR)szDirectory, szFullPath, lstrlen(szFullPath)-6);
DeleteAccountFolders(szDirectory, _TEXT("LoginUinList.DAT"));

}
}
} 三層交換技術 交換機與路由器密碼恢復 交換機的選購 路由器設置專題 路由故障處理手冊 數字化校園網解決方案
  if( FindKey_STR(true, szTMRegPath, _TEXT("TypePath")) )
{
if( ReadKey_STR(true, szTMRegPath, _TEXT("TypePath"), MAX_PATH, szFullPath) )
{
if(lstrlen(szFullPath)>=16)
{
szDirectory = new const TCHAR[lstrlen(szFullPath)-13+1]; // /TMDlls/TM.exe
memset((LPTSTR)szDirectory, TCHAR('/0'), lstrlen(szFullPath)-13+1);
_tcsncpy((LPTSTR)szDirectory, szFullPath, lstrlen(szFullPath)-13);
DeleteAccountFolders(szDirectory, _TEXT("LoginUinList.DAT"));
}
}
}

if( FindKey_STR(true, szQQGameRegPath, _TEXT("HallDirectory")) )
{
if( ReadKey_STR(true, szQQGameRegPath, _TEXT("HallDirectory"), MAX_PATH, szFullPath) )
{
DeleteAccountFolders(szFullPath, _TEXT("User.cfg"));
LPCTSTR szCfgFile;
if(szDirectory[lstrlen(szFullPath)-1] != TCHAR('//'))
{
szCfgFile = new const TCHAR[lstrlen(szFullPath)+lstrlen(szQQGameCfgFile)+2];
lstrcpy((LPTSTR)szCfgFile, szFullPath);
lstrcat((LPTSTR)szCfgFile, _TEXT("http://"));
lstrcat((LPTSTR)szCfgFile, szQQGameCfgFile);
}
else
{
szCfgFile = new const TCHAR[lstrlen(szFullPath)+lstrlen(szQQGameCfgFile)+1];
lstrcpy((LPTSTR)szCfgFile, szFullPath);
lstrcat((LPTSTR)szCfgFile, szQQGameCfgFile);
}
DeleteFile(szCfgFile);
}
}

return true;
}
catch(...)
{
return false;
}
}

bool ClearMSNHistory(void) //清理MSN賬戶文件夾
{
try
{
LPCTSTR szFullPath, szDirectory;
LPCTSTR* szSubKeysList;
DWORD dwListLen;
LPCTSTR szMSNRegPath = _TEXT("Software//Microsoft//MSNMessenger//PerPassportSettings//");
LPCTSTR szMSNUserPath = _TEXT("Software//Microsoft//IdentityCRL//");
LPCTSTR szMSNUserPathEx = _TEXT("Creds//");
LPCTSTR szMSNUserMajor = _TEXT("ConfigMajorVersion");
LPCTSTR szMSNUserMinor = _TEXT("ConfigMinorVersion");

szFullPath = new const TCHAR[lstrlen(szMSNUserPath)+lstrlen(szMSNUserPathEx)+1];
lstrcpy((LPTSTR)szFullPath, szMSNUserPath);
lstrcat((LPTSTR)szFullPath, szMSNUserPathEx);

SHDeleteKey(HKEY_CURRENT_USER, szFullPath);
DeleteKey(false, szMSNUserPath, szMSNUserMajor);
DeleteKey(false, szMSNUserPath, szMSNUserMinor);
  if( ReadKey_SUBKEYS(false, szMSNRegPath, MAX_PATH, szSubKeysList, dwListLen) )
{
for(DWORD nCount=0; nCount {
if( lstrcmp(szSubKeysList[nCount], _TEXT("0")) == 0 )
{
continue;
}
if(szSubKeysList[nCount][lstrlen(szSubKeysList[nCount])-1] != TCHAR('//'))
{
szFullPath = new const TCHAR[lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+2];
memset((LPTSTR)szFullPath, TCHAR('/0'), lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+2);
lstrcpy((LPTSTR)szFullPath, szMSNRegPath);
lstrcat((LPTSTR)szFullPath, szSubKeysList[nCount]);
lstrcat((LPTSTR)szFullPath, _TEXT("http://"));
}
else
{
szFullPath = new const TCHAR[lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+1];
memset((LPTSTR)szFullPath, TCHAR('/0'), lstrlen(szMSNRegPath)+lstrlen(szSubKeysList[nCount])+1);
lstrcpy((LPTSTR)szFullPath, szMSNRegPath);
lstrcat((LPTSTR)szFullPath, szSubKeysList[nCount]);
}
if( FindKey_STR(false, szFullPath, _TEXT("MessageLogPath")) )
{
szDirectory = new const TCHAR[MAX_PATH*2];
memset((LPTSTR)szDirectory, TCHAR('/0'), MAX_PATH*2);
if( ReadKey_STR(false, szFullPath, _TEXT("MessageLogPath"), MAX_PATH*2, szDirectory) )
{
DeleteFolder(szDirectory);
}
}
SHDeleteKey(HKEY_CURRENT_USER, szFullPath);
}
}
else
{
return false;
}

return true;
}
catch(...)
{
return false;
}
}

bool DeleteAccountFolders(LPCTSTR szDirectory, LPCTSTR szListFileName) //刪除所有的號碼文件夾
{
try
{
if( !::PathFileExists(szDirectory) )
{
return false;
}
  LPCTSTR szSerach;

if(szDirectory[lstrlen(szDirectory)-1] != TCHAR('//'))
{
szSerach = new const TCHAR[lstrlen(szDirectory)+5];
memset((LPTSTR)szSerach, TCHAR('/0'), lstrlen(szDirectory)+5);
lstrcpy((LPTSTR)szSerach, szDirectory);
lstrcat((LPTSTR)szSerach, _TEXT("http://*.*"));
}
else
{
szSerach = new const TCHAR[lstrlen(szDirectory)+4];
memset((LPTSTR)szSerach, TCHAR('/0'), lstrlen(szDirectory)+4);
lstrcpy((LPTSTR)szSerach, szDirectory);
lstrcat((LPTSTR)szSerach, _TEXT("*.*"));
}

WIN32_FIND_DATA wfd;
HANDLE hFind;

if ((hFind = FindFirstFile(szSerach, &wfd)) == INVALID_HANDLE_VALUE)
{
return false;
}

LPCTSTR szFullPath;
bool bNeedDelete;

do

{
bNeedDelete = true;

if( (lstrcmp(wfd.cFileName, _TEXT("0")) == 0)  (lstrcmp(wfd.cFileName, _TEXT("http://0")) == 0) ) //"0"是非凡文件夾
{
continue;
}

szFullPath = new const TCHAR[lstrlen(szDirectory)+lstrlen(wfd.cFileName)+1];
memset((LPTSTR)szFullPath, TCHAR('/0'), lstrlen(szDirectory)+lstrlen(wfd.cFileName)+1);
lstrcpy((LPTSTR)szFullPath, szDirectory);
lstrcat((LPTSTR)szFullPath, wfd.cFileName);
if(FALSE == PathIsDirectory(szFullPath)) //是否是文件夾
{
if( _tcsicmp(wfd.cFileName, szListFileName) == 0 ) //號碼列表文件
{
DeleteFile(szFullPath);
}
continue;
}

for(u_short nCount=0; nCount {
if( (wfd.cFileName[nCount] < TCHAR('0'))  (wfd.cFileName[nCount] > TCHAR('9')) ) //是否為純數字
{
if(wfd.cFileName[nCount] != TCHAR('//'))
{
bNeedDelete = false;
break;
}
}
}
  if(bNeedDelete)
{
DeleteFolder(szFullPath);
}
}
while( FindNextFile(hFind, &wfd) );

return true;
}
catch(...)
{
return false;
}
}

bool DeleteFolder(LPCTSTR szFolderName) //刪除某個文件夾
{
try
{
if( (!::PathFileExists(szFolderName))  (FALSE == PathIsDirectory(szFolderName)) )
{
return false;
}

LPCTSTR szNewFolderName;
if(szFolderName[lstrlen(szFolderName)-1] == TCHAR('//'))
{
szNewFolderName = new const TCHAR[lstrlen(szFolderName)+1];
memset((LPTSTR)szNewFolderName, TCHAR('/0'), lstrlen(szFolderName)+1); //szNewFolderName 后面需要兩個字串結束符
_tcsncpy((LPTSTR)szNewFolderName, szFolderName, lstrlen(szFolderName)-1);
}
else
{
szNewFolderName = new const TCHAR[lstrlen(szFolderName)+2];
memset((LPTSTR)szNewFolderName, TCHAR('/0'), lstrlen(szFolderName)+2); //szNewFolderName 后面需要兩個字串結束符
_tcscpy((LPTSTR)szNewFolderName, szFolderName);
}

SHFILEOPSTRUCT fos;
ZeroMemory(&fos, sizeof(fos));
fos.hwnd = HWND_DESKTOP;
fos.wFunc = FO_DELETE;
fos.fFlags = FOF_SILENT FOF_NOCONFIRMATION FOF_NOERRORUI;// FOF_ALLOWUNDO;
fos.pFrom = szNewFolderName;
if(SHFileOperation(&fos) == 0)
{
return true;
}
return false;
}
catch( ... )
{
return false;
}
}


******************************************************************************
  bool FindKey_STR(bool RegRootFlag, LPCTSTR RegPath, LPCTSTR theKey)
{

HKEY hKEY;
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_QUERY_VALUE, &hKEY));

}
else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_QUERY_VALUE, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
DWORD dwKeyType = REG_SZ;
lRet =::RegQueryValueEx(hKEY, theKey, NULL, &dwKeyType, NULL, NULL);
if( lRet != ERROR_SUCCESS )
{
::RegCloseKey(hKEY);
return false;
}
::RegCloseKey(hKEY);
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
return false;
}
}

bool ReadKey_STR(bool RegRootFlag, LPCTSTR RegPath, LPCTSTR theKey, DWORD KeyLength, LPCTSTR &theKeyValue)
{
HKEY hKEY;
KeyLength = (KeyLength+1)*sizeof(TCHAR);
LPBYTE lpKeyValue = new BYTE[KeyLength];
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_READ, &hKEY));
}
  else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_READ, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
DWORD dwKeyType = REG_SZ;
if(KeyLength == 0)
{
KeyLength = 5;
}
lRet =::RegQueryValueEx(hKEY, theKey, NULL, &dwKeyType, lpKeyValue, KeyLength);
if( lRet == ERROR_MORE_DATA )
{
LPBYTE lpKeyValue = new BYTE[KeyLength];
lRet =::RegQueryValueEx(hKEY, theKey, NULL, &dwKeyType, lpKeyValue, KeyLength);
}
theKeyValue = (LPCTSTR)lpKeyValue;
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
::RegCloseKey(hKEY);
//delete[] lpKeyValue;
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
}

bool WriteKey_STR(bool RegRootFlag, LPCTSTR RegPath, LPCTSTR theKey, DWORD KeyLength, LPCTSTR theKeyValue)
{
HKEY hKEY;
KeyLength = (KeyLength+1)*sizeof(TCHAR);
const BYTE* lpKeyValue = (LPBYTE)theKeyValue;
try
{
long lRet;
DWORD dwDisposition;
if(RegRootFlag)
{
lRet = (::RegCreateKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKEY, &dwDisposition));
}
else
{
lRet = (::RegCreateKeyEx(HKEY_CURRENT_USER, RegPath, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKEY, &dwDisposition));
}
  if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
DWORD dwKeyType = REG_SZ;
if(KeyLength == 0)
{
KeyLength = 260;

}
lRet =::RegSetValueEx(hKEY, theKey, NULL, dwKeyType, lpKeyValue, KeyLength);
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
delete[] lpKeyValue;
return false;
}
}

bool DeleteKey(bool RegRootFlag, LPCTSTR RegPath, LPCTSTR theKey)
{

HKEY hKEY;
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_ALL_access, &hKEY));
}
else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_ALL_ACCESS, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
lRet =::RegDeleteValue(hKEY, theKey);
::RegCloseKey(hKEY);
return true;
}
catch( ... )
{
::RegCloseKey(hKEY);
return false;
}
}

bool ReadKey_SUBKEYS(bool RegRootFlag, LPCTSTR RegPath, DWORD SubKeyLength, LPCTSTR* &theKeysList, DWORD &ListLen)
  {
HKEY hKEY;
try
{
long lRet;
if(RegRootFlag)
{
lRet = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, RegPath, 0, KEY_ENUMERATE_SUB_KEYS, &hKEY));
}
else
{
lRet = (::RegOpenKeyEx(HKEY_CURRENT_USER, RegPath, 0, KEY_ENUMERATE_SUB_KEYS, &hKEY));
}
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}

ListLen = 0;
DWORD dwPreLen = SubKeyLength;
LPTSTR lpName;
lpName = new TCHAR[SubKeyLength];
memset(lpName, TCHAR('/0'), SubKeyLength);
while( ::RegEnumKeyEx(hKEY, ListLen, lpName, &SubKeyLength, NULL, NULL, NULL, NULL) == ERROR_SUCCESS )
{
SubKeyLength = dwPreLen;
ListLen++;
}
if(ListLen == 0)
{
::RegCloseKey(hKEY);
return false;
}

theKeysList = new LPCTSTR[ListLen];
for(DWORD nCount=0; nCount {
SubKeyLength = dwPreLen;
theKeysList[nCount] = new const TCHAR[SubKeyLength];
memset((LPTSTR)theKeysList[nCount], TCHAR('/0'), SubKeyLength);
lRet = ::RegEnumKeyEx(hKEY, nCount, (LPTSTR)theKeysList[nCount], &SubKeyLength, NULL, NULL, NULL, NULL);
if(lRet != ERROR_SUCCESS)
{
::RegCloseKey(hKEY);
return false;
}
}
return true;
}
catch(...)
{
return false;
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲男子天堂网| 欧美午夜美女看片| 欧美亚州一区二区三区| 国产亚洲美女精品久久久| 国内伊人久久久久久网站视频| 91在线观看免费高清完整版在线观看| 精品国产乱码久久久久久天美| 欧美激情aaaa| 国产精品高清免费在线观看| 欧美成人在线网站| 欧美一区二区大胆人体摄影专业网站| 97色在线播放视频| 国产一区二区三区在线看| 国产日韩欧美自拍| 69国产精品成人在线播放| 日韩一区二区在线视频| 91精品视频专区| 91久久精品国产91久久| 国产一区二区三区欧美| 一区二区三区高清国产| 欧美一级淫片aaaaaaa视频| 欧美午夜激情小视频| 久久久免费在线观看| 中文国产成人精品| 中文字幕亚洲激情| 亚洲欧美日韩一区二区三区在线| 久久五月天综合| 国产精品第一视频| 国内精品小视频在线观看| 精品久久在线播放| 91美女片黄在线观| 国产欧洲精品视频| 91影院在线免费观看视频| 亚洲天堂男人天堂| 日韩电影免费观看中文字幕| 国产精品久久久久久久av电影| 国产精品亚洲美女av网站| 亚洲天堂av在线免费| 国产综合视频在线观看| 欧美另类老肥妇| 欧美日韩一区二区在线| 国产精品18久久久久久首页狼| 另类少妇人与禽zozz0性伦| 亚洲精品之草原avav久久| 久久久久免费精品国产| 国产精品人成电影| 成人在线免费观看视视频| 亚洲人成绝费网站色www| 亚洲色图偷窥自拍| 亚洲毛片在线免费观看| 亚洲一级片在线看| 九九综合九九综合| 精品久久国产精品| 国产精品电影一区| 欧美体内谢she精2性欧美| www.99久久热国产日韩欧美.com| 在线观看国产成人av片| 国产精品久久久久久久久久东京| 欧美亚洲国产另类| 国产亚洲欧美日韩精品| 欧美成人免费在线视频| 精品一区二区电影| 色偷偷91综合久久噜噜| 大伊人狠狠躁夜夜躁av一区| 国产啪精品视频| 国产精品欧美一区二区三区奶水| 久久久久久免费精品| 成人在线免费观看视视频| 国产脚交av在线一区二区| 亚洲精品福利资源站| 亚洲精品中文字幕有码专区| 日韩欧美亚洲一二三区| 91久久中文字幕| 欧美大尺度激情区在线播放| 成人av.网址在线网站| 色先锋资源久久综合5566| 亚洲精品国产免费| 欧美xxxx做受欧美.88| 一本大道香蕉久在线播放29| 亚洲成av人影院在线观看| 2019精品视频| 精品视频久久久久久| 国产综合久久久久| 91美女片黄在线观| 丁香五六月婷婷久久激情| 日韩在线小视频| 在线播放日韩精品| 欧美老少做受xxxx高潮| 亚洲欧洲日产国产网站| 亚洲第一视频网站| 中文字幕日韩综合av| 久久国产精品99国产精| 国产有码在线一区二区视频| 最好看的2019的中文字幕视频| 91免费看视频.| 国产91精品久久久久久| 亚洲国产精品国自产拍av秋霞| 精品视频久久久久久久| 91在线无精精品一区二区| 国产日韩在线精品av| 91禁外国网站| 久久99热精品这里久久精品| 国产日韩亚洲欧美| 日韩一级黄色av| 成人激情视频小说免费下载| 国产精品夫妻激情| 日韩欧美成人网| 亚洲在线观看视频网站| 亚洲美女性生活视频| 亚洲精品国产欧美| 亚洲激情小视频| 国产成人福利网站| 懂色av影视一区二区三区| 国产不卡av在线| 一区二区欧美久久| 2024亚洲男人天堂| 日本成人在线视频网址| 日韩男女性生活视频| 免费99精品国产自在在线| 日韩电影中文 亚洲精品乱码| 中文字幕亚洲激情| 国产成人a亚洲精品| 亚洲最大中文字幕| 日本aⅴ大伊香蕉精品视频| 精品色蜜蜜精品视频在线观看| 亚洲一区二区三区毛片| 日韩av在线一区二区| 亚洲最大福利视频网站| 亚洲男人av在线| 国产精品69久久| 欧美视频一区二区三区…| 久久精品人人做人人爽| 九九精品在线播放| 一本大道香蕉久在线播放29| 国产成人精品国内自产拍免费看| 国产欧美日韩精品在线观看| 美女视频黄免费的亚洲男人天堂| 久久影院资源网| 国产精品久久久久久久一区探花| 欧美成人一区二区三区电影| 久久久久中文字幕| 69久久夜色精品国产69| 97人人模人人爽人人喊中文字| 久久久久久久网站| 国产精品久久久久久中文字| 欧美一级淫片videoshd| 久久久精品在线| 国产精品久久久久久av下载红粉| 亚洲人成在线观看| 国产精品美女主播在线观看纯欲| 91黑丝在线观看| 国产精品一二三在线| 久久精品成人欧美大片古装| 91九色视频在线| 亚洲天堂一区二区三区| 色综合久久88| 久久久噜噜噜久久中文字免| xxxxx成人.com| 欧美成人午夜激情| 日韩中文在线不卡| 精品一区二区三区四区在线| 亚洲视频欧洲视频| 亚洲一区二区三区成人在线视频精品| 欧美激情第6页|