日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

应用程序唯一性

發布時間:2023/12/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用程序唯一性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序啟動后,如果再次啟動程序,不會出現2個程序,或者實現如Notepad++已打開一個文件,再打開另外一個文件,則追加在Notepad++界面上。

使用codeproject上別人編寫的一個類,加在程序啟動時即可。

?

sinstance.h

/* Module : SINSTANCE.H Purpose: Defines the interface for an MFC wrapper class to do instance checking Created: PJN / 29-07-1998Copyright (c) 1996 - 2008 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com)All rights reserved.Copyright / Usage Details:You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) when your product is released in binary form. You are allowed to modify the source code in any way you want except you cannot modify the copyright details at the top of each module. If you want to distribute source code with your application, then you are only allowed to distribute versions released by the author. This is to maintain a single distribution point for the source code. *//// Macros / Defines //#pragma once#ifndef __SINSTANCE_H__ #define __SINSTANCE_H__#ifndef CSINGLEINSTANCE_EXT_CLASS #define CSINGLEINSTANCE_EXT_CLASS #endif#ifndef CSINGLEINSTANCE_EXT_API #define CSINGLEINSTANCE_EXT_API #endifIncludes /#ifndef __AFXMT_H__ #pragma message("To avoid this message, please put afxmt.h in your pre compiled header (normally stdafx.h)") #include <afxmt.h> #endifClasses //class CSINGLEINSTANCE_EXT_CLASS CInstanceChecker { public: //Constructors / DestructorsCInstanceChecker(const CString& sUniqueName);virtual ~CInstanceChecker();//General functionsvoid ActivateChecker();BOOL TrackFirstInstanceRunning();BOOL PreviousInstanceRunning();HWND ActivatePreviousInstance(LPCTSTR lpCmdLine = NULL, ULONG_PTR dwCopyDataItemData = 0, DWORD dwTimeout = 30000); void QuitPreviousInstance(int nExitCode = 0);protected: //Virtual methodsvirtual CString GetMMFFilename();virtual HWND GetWindowToTrack();//Standard non-virtual methodsvoid ReleaseLock();//DataCMutex m_instanceDataMutex;CMutex m_executeMutex;CSingleLock* m_pExecuteLock;CString m_sName; };#endif //__SINSTANCE_H__

  sinstance.cpp

/* Module : SINSTANCE.CPP Purpose: Defines the implementation for an MFC wrapper classeto do instance checking Created: PJN / 29-07-1998 History: PJN / 25-03-2000 Neville Franks made the following changes. Contact nevf@getsoft.com, www.getsoft.com1. Changed #pragma error to #pragma message. Former wouldn't compile under VC62. Replaced above #pragma with #include3. Added TrackFirstInstanceRunning(), MakeMMFFilename()PJN / 27-03-2000 1. Fixed a potential handle leak where the file handle m_hPrevInstance was not beingclosed under certain circumstances.Neville Franks made the following changes. Contact nevf@getsoft.com, www.getsoft.com2. Split PreviousInstanceRunning() up into separate functions so wecan call it without needing the MainFrame window.3. Changed ActivatePreviousInstance() to return hWnd.PJN / 15-05-2000 1. Serialized access to all of the CSingleInstance class to prevent race conditionswhich can occur when you app is programatically spawned.PJN / 17-05-2000 1. Updated sample to show how the code can be used for dialog based apps.PJN / 01-01-2001 1. Added a number of asserts to CInstanceChecker::ActivatePreviousInstance2. Now includes copyright message in the source code and documentation.PJN / 15-01-2001 1. Now allows multiple calls to PreviousInstanceRunning without ASSERTing2. Removed some unnecessary VERIFY's from ActivatePreviousInstance3. Made the MMF filename used modifiable via a virtual function GetMMFFilename 4. Made the window to track modifiable via a virtual function GetWindowToTrack5. Made destructor virtual since the introduction of other virtual functions in the class6. Removed a number of unnecessary verifies7. Changed the meaning of the return value from TrackFirstInstanceRunningPJN / 17-06-2001 1. Moved most of the code from CInstanceChecker::CInstanceChecker to CInstanceChecker::ActivateChecker. This allows client code to turn on or off the instancechecking code easily. Thanks to Anders Rundegren for this addition.PJN / 31-08-2001 1. made the name of the mutex which the class uses to serialize access to itself a paramterto the constructor. That way multiple independent apps do not block each other whilethey are calling into the CSingleInstance class. Thanks to Eugene Shmelyov for spottingthis problem.PJN / 23-03-2002 1. Provided a QuitPreviousInstance method. Thanks to Jon Bennett for providing this.PJN / 30-10-2002 1. The name of the internal memory mapped file is now based on the Mutex name rather thanthe application name. An example: a client was writing a webcam application and wanted it to run with multiple configuration for multiple camera support. So the app can run multiple times as long as a special configuration is given on the command line. But for that configuration only one instance is allowed. Using the application name for the memory mapped file was tying the single instance to the app rather than the unique mutex name. Thanks to Frank Fesevur for this nice update.PJN / 06-02-2003 1. Was missing a call to ReleaseLock in CInstanceChecker::ActivatePreviousInstance. Thanks to Pierrick Ingels for reporting this problem.PJN / 09-05-2004 1. Updated the copyright details.2. Extended CInstanceChecker::ActivatePreviousInstance to now allow the command line of thesecond app to be passed to the original app. By default the parameter is NULL, meaning that you get the original behaviour which just activates the previous instance. To respond to thisinformation you should add the following to your mainfrm module:mainfrm.hafx_msg LRESULT OnCopyData(WPARAM, LPARAM);mainfrm.cppLRESULT CMyFrameWnd::OnCopyData(WPARAM wParam, LPARAM lParam){COPYDATASTRUCT* pCDS = reinterpret_cast<COPYDATASTRUCT*>(lParam);TCHAR* pszCmdLine = static_cast<TCHAR*>(pCDS->lpData);if (pszCmdLine){//DO SOMETHING with pszCmdLine here such as call AfxGetApp()->OpenDocumentFile(pszCmdLine);}return TRUE;}Also hook up your onCopyData to the windows message map usingON_MESSAGE(WM_COPYDATA, OnCopyData)Thanks to Ingo H. de Boer for providing this nice update.3. Following a discussion on the Codeproject.com discussion forum for CSingleInstance on whatexactly a single instance app means (See http://www.codeproject.com/cpp/csingleinst.asp?msg=766108#xx1103xx),Daniel Lohmann has produced a simple function called CreateUniqueName which given a number of settings as flags, will produce a name which is unique. This code can be downloaded at http://www.losoft.de/code/SingleInstance.zip. You can then use this name in the constructor forCInstanceChecker. The concept of a single instance app is complicated by the concept of Window stationsand desktops as used by NT Services and Windows Terminal Services. In addition you might want to allow yourprogram to be run once per user. PJN / 30-05-2005 1. Fix for a crash where CWnd::GetLastActivePopup can sometimes return a NULL pointer. Thanks to Dominik Reichl for reporting this bug.PJN / 07-07-2006 1. Updated copyright details.2. Addition of CSINGLEINSTANCE_EXT_CLASS and CSINGLEINSTANCE_EXT_API which allows the class to be easily usedin an extension DLL.3. Removed derivation from CObject as it was not really needed.4. Updated the documentation to use the same style as the web site.5. Code now uses newer C++ style casts instead of C style casts.6. Fixed a number of level 4 warnings in the sample app.7. Updated code to compile cleanly using VC 2005.PJN / 17-03-2007 1. Updated copyright details.2. Optimized _INSTANCE_DATA constructor code3. Reworked how the method CInstanceChecker::GetMMFFilename creates the name of the memory mapped filenamethe code requires for sharing. Now the main instance name appears before the hard coded string. Thisensures that the CInstanceChecker class works correctly for terminal sessions i.e. kernel objects prefixedwith the value "Local\". Thanks to Mathias Berchtold for reporting this issue.4. Updated the sample app code to clean compile on VC 20055. QuitPreviousInstance now uses GetLastActivePopup API to ensure it posts the WM_QUIT message to the correct window of the previous instance.PJN / 02-02-2008 1. Updated copyright details2. Removed VC 6 style classwizard comments from the sample apps code3. Updated ActivatePreviousInstance method to support Win64 compliant data4. ActivatePreviousInstance now takes a "dwTimeout" parameter which it now uses internally as the timeout whencalling SendMessageTimeout instead of SendMessage. The code now uses SendMessageTimeout instead of SendMessage to ensure we do not hang if the previous instance itself is hung. Thanks to Paul Shore for suggesting this update.5. Updated the sample apps to clean compile on VC 2008Copyright (c) 1996 - 2008 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com)All rights reserved.Copyright / Usage Details:You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) when your product is released in binary form. You are allowed to modify the source code in any way you want except you cannot modify the copyright details at the top of each module. If you want to distribute source code with your application, then you are only allowed to distribute versions released by the author. This is to maintain a single distribution point for the source code. *// Includes //#include "stdafx.h" #include "sinstance.h"/// Defines / Macros //#ifdef _DEBUG #define new DEBUG_NEW #endif/ Implementation ////struct which is put into shared memory struct CWindowInstance {HWND hMainWnd; };//Class which is used as a static to ensure that we //only close the file mapping at the very last chance class _SINSTANCE_DATA { public: //Constructors / Destructors_SINSTANCE_DATA();~_SINSTANCE_DATA();protected: //Member variablesHANDLE hInstanceData;friend class CInstanceChecker; };_SINSTANCE_DATA::_SINSTANCE_DATA() : hInstanceData(NULL) { }_SINSTANCE_DATA::~_SINSTANCE_DATA() {if (hInstanceData != NULL){::CloseHandle(hInstanceData);hInstanceData = NULL;} }static _SINSTANCE_DATA g_sinstanceData;CInstanceChecker::CInstanceChecker(const CString& sUniqueName) : m_executeMutex(FALSE, sUniqueName) {//Hive away the unique name as we will also be using it for the name of the memory mapped filem_sName = sUniqueName;//Only one object of type CInstanceChecker should be createdASSERT(g_sinstanceData.hInstanceData == NULL);m_pExecuteLock = NULL; }void CInstanceChecker::ActivateChecker() {ASSERT(m_pExecuteLock == NULL);//Ensure there is only ever one CInstanceChecker instance //active at any one time throughout the systemm_pExecuteLock = new CSingleLock(&m_executeMutex, TRUE); }CInstanceChecker::~CInstanceChecker() {//Free up the instance lockReleaseLock(); }void CInstanceChecker::ReleaseLock() {if (m_pExecuteLock){delete m_pExecuteLock;m_pExecuteLock = NULL;} }//Track the first instance of our App. //return TRUE on success, else FALSE BOOL CInstanceChecker::TrackFirstInstanceRunning() {//If a previous instance is running, just return prematurelyif (PreviousInstanceRunning())return FALSE;//If this is the first instance then copy in our info into the shared memory//First create the MMFint nMMFSize = sizeof(CWindowInstance);g_sinstanceData.hInstanceData = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, nMMFSize, GetMMFFilename());if (g_sinstanceData.hInstanceData == NULL){TRACE(_T("Failed to create the MMF even though this is the first instance, you might want to consider overriding GetMMFFilename()\n"));return FALSE;}//Open the MMFCWindowInstance* pInstanceData = static_cast<CWindowInstance*>(MapViewOfFile(g_sinstanceData.hInstanceData, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, nMMFSize));ASSERT(pInstanceData != NULL); //Opening the MMF should work//Lock the data prior to updating itCSingleLock dataLock(&m_instanceDataMutex, TRUE);pInstanceData->hMainWnd = GetWindowToTrack();UnmapViewOfFile(pInstanceData);//Since this will be the last function that will be called //when this is the first instance we can release the lockReleaseLock();return TRUE; }// Returns TRUE if a previous instance of the App is running. BOOL CInstanceChecker::PreviousInstanceRunning() {//Try to open the MMF first to see if we are the second instanceHANDLE hPrevInstance = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, GetMMFFilename());BOOL bPreviousInstance = (hPrevInstance != NULL);if (hPrevInstance)CloseHandle(hPrevInstance);return bPreviousInstance; }CString CInstanceChecker::GetMMFFilename() {CString sMMF(m_sName);sMMF += _T("_CInstanceChecker_MMF");return sMMF; }HWND CInstanceChecker::GetWindowToTrack() {//By default the window tracked will be the standard AfxGetMainWnd()ASSERT(AfxGetMainWnd() != NULL); //Did you forget to set up the mainfrm in InitInstance ?return AfxGetMainWnd()->GetSafeHwnd(); }//Activate the Previous Instance of our Application. HWND CInstanceChecker::ActivatePreviousInstance(LPCTSTR lpCmdLine, ULONG_PTR dwCopyDataItemData, DWORD dwTimeout) {//What will be the return value from this function (assume the worst)HWND hWindow = NULL;//Try to open the previous instances MMFHANDLE hPrevInstance = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, GetMMFFilename());if (hPrevInstance){//Open up the MMFint nMMFSize = sizeof(CWindowInstance);CWindowInstance* pInstanceData = static_cast<CWindowInstance*>(MapViewOfFile(hPrevInstance, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, nMMFSize));if (pInstanceData) //Opening the MMF should work{//Lock the data prior to reading from itCSingleLock dataLock(&m_instanceDataMutex, TRUE);//activate the old windowASSERT(pInstanceData->hMainWnd); //Something gone wrong with the MMFhWindow = pInstanceData->hMainWnd;if (hWindow){CWnd wndPrev;wndPrev.Attach(hWindow);CWnd* pWndChild = wndPrev.GetLastActivePopup();//Restore the focus to the previous instance and bring it to the foregroundif (wndPrev.IsIconic())wndPrev.ShowWindow(SW_RESTORE);if (pWndChild)pWndChild->SetForegroundWindow();if (lpCmdLine){ //Send the current apps command line to the previous instance using WM_COPYDATACOPYDATASTRUCT cds;cds.dwData = dwCopyDataItemData;DWORD dwCmdLength = static_cast<DWORD>(_tcslen(lpCmdLine) + 1);cds.cbData = dwCmdLength * sizeof(TCHAR); TCHAR* pszLocalCmdLine = new TCHAR[dwCmdLength]; //We use a local buffer so that we can specify a constant parameter//to this function#if (_MSC_VER >= 1400)_tcscpy_s(pszLocalCmdLine, dwCmdLength, lpCmdLine);#else _tcscpy(pszLocalCmdLine, lpCmdLine);#endifcds.lpData = pszLocalCmdLine;CWnd* pMainWindow = AfxGetMainWnd();HWND hSender = NULL;if (pMainWindow)hSender = pMainWindow->GetSafeHwnd();//Send the message to the previous instance. Use SendMessageTimeout instead of SendMessage to ensure we //do not hang if the previous instance itself is hungDWORD_PTR dwResult = 0;if (SendMessageTimeout(hWindow, WM_COPYDATA, reinterpret_cast<WPARAM>(hSender), reinterpret_cast<LPARAM>(&cds),SMTO_ABORTIFHUNG, dwTimeout, &dwResult) == 0){//Previous instance is not responding to messageshWindow = NULL;}//Tidy up the heap memory we have useddelete [] pszLocalCmdLine;}//Detach the CWnd we were usingwndPrev.Detach();}//Unmap the MMF we were usingUnmapViewOfFile(pInstanceData);}//Close the file handle now that we CloseHandle(hPrevInstance);//When we have activate the previous instance, we can release the lockReleaseLock();}return hWindow; }void CInstanceChecker::QuitPreviousInstance(int nExitCode) {//Try to open the previous instances MMFHANDLE hPrevInstance = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, GetMMFFilename());if (hPrevInstance){// Open up the MMFint nMMFSize = sizeof(CWindowInstance);CWindowInstance* pInstanceData = static_cast<CWindowInstance*>(MapViewOfFile(hPrevInstance, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, nMMFSize));if (pInstanceData != NULL) //Opening the MMF should work{// Lock the data prior to reading from itCSingleLock dataLock(&m_instanceDataMutex, TRUE);//activate the old windowASSERT(pInstanceData->hMainWnd); //Something gone wrong with the MMF?HWND hWnd = pInstanceData->hMainWnd;//Ask it to exitHWND hChildWnd = GetLastActivePopup(hWnd);PostMessage(hChildWnd, WM_QUIT, nExitCode, 0);}//Close the file handle now that we CloseHandle(hPrevInstance);} }

  windows MFC下使用方法:

在InitInstance()中添加: //Check for the previous instance as soon as possibleCInstanceChecker instanceChecker(_T("CInstanceChecker Example FrameWnd App"));instanceChecker.ActivateChecker(); if (instanceChecker.PreviousInstanceRunning()){CCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);AfxMessageBox(_T("Previous version detected, will now restore it"), MB_OK); instanceChecker.ActivatePreviousInstance(cmdInfo.m_strFileName);return FALSE;}...//Standard MFC stuff, create the mainframeCFrameWnd* pMainFrm = new CMyFrameWnd();if (!pMainFrm->Create(NULL, m_pszAppName))return FALSE;pMainFrm->ShowWindow(SW_SHOW);m_pMainWnd = pMainFrm;// If this is the first instance of our App then track it so any other instances can find usinstanceChecker.TrackFirstInstanceRunning();

  如需實現像Notepad++追加在程序后面的效果,可在CFrameWnd中添加:

添加WM_COPYDATA消息響應

LRESULT CMyFrameWnd::OnCopyData(WPARAM /*wParam*/, LPARAM lParam) {COPYDATASTRUCT* pCDS = reinterpret_cast<COPYDATASTRUCT*>(lParam);TCHAR* pszCmdLine = static_cast<TCHAR*>(pCDS->lpData);if (pszCmdLine){CString sMsg;sMsg.Format(_T("Another instance passed us the command line: %s"), pszCmdLine);AfxMessageBox(sMsg);}return TRUE; }

?

轉載于:https://www.cnblogs.com/sylar-liang/p/4553502.html

總結

以上是生活随笔為你收集整理的应用程序唯一性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美极品xxx | 91在线蜜桃臀 | 最新一区二区三区 | 九九热免费精品视频 | 精品视频一区在线观看 | 精品在线观看视频 | 亚洲视频 视频在线 | 成人h视频在线播放 | 一区二区三区在线视频观看58 | 98精品国产自产在线观看 | 91在线免费观看网站 | 国产午夜精品免费一区二区三区视频 | 午夜精品一区二区三区视频免费看 | 玖玖999| 欧美 高跟鞋交 xxxxhd | 夜夜操天天摸 | 久久电影网站中文字幕 | 国产 日韩 中文字幕 | 在线观看成人一级片 | 国产婷婷在线观看 | 日韩午夜精品福利 | 亚洲综合成人在线 | 免费日韩视 | 国产大片免费久久 | 色就干| 国产黄在线免费观看 | 偷拍精品一区二区三区 | 国产成人精品免费在线观看 | 亚洲精品中文字幕在线 | 国产性天天综合网 | 日韩电影一区二区在线 | 久久高清毛片 | 久久久久久久久黄色 | 欧美日韩国产在线观看 | 中文字幕在线播放日韩 | av电影免费在线看 | 成人黄大片| av色综合网 | 午夜精品中文字幕 | 在线观看 亚洲 | 中文字幕观看av | 中文字幕91视频 | 久久人网 | 日韩中文免费视频 | 在线 日韩 av | 99精品乱码国产在线观看 | 国产精品18久久久久久久久 | 国产精品av免费在线观看 | 亚洲精品黄 | 亚州精品一二三区 | 国产精品综合久久久久 | 96亚洲精品久久 | 午夜精品一二区 | 久草在线最新免费 | 久久久高清一区二区三区 | 久久久精品99 | 国产色一区 | 国产亚洲视频在线免费观看 | 国产乱对白刺激视频在线观看女王 | 免费看一级特黄a大片 | 天天操天天射天天爱 | 国产一级一片免费播放放 | 91 中文字幕 | 国产精品久久久久一区二区三区 | www日韩在线观看 | 日韩在线观看免费 | 免费在线观看日韩视频 | 国内精品视频久久 | 99久久综合狠狠综合久久 | 99久久精品视频免费 | 高清精品视频 | 久久亚洲综合国产精品99麻豆的功能介绍 | 最近的中文字幕大全免费版 | 日韩中文字幕视频在线 | 视频二区在线视频 | 亚洲精品视 | 国产精品男女视频 | 在线免费中文字幕 | 日韩欧美在线观看 | 在线国产福利 | 狠狠色噜噜狠狠狠合久 | 天天操天天操天天操天天操 | 天天爱综合 | 日三级在线 | 国产精品剧情 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 中文亚洲欧美日韩 | 国产精品永久免费视频 | 韩国三级av在线 | 西西大胆啪啪 | 人人玩人人添人人 | 午夜精品福利一区二区 | 2018好看的中文在线观看 | 五月开心六月婷婷 | 美女视频久久 | 欧美黄色软件 | 国产五十路毛片 | 国产xxxxx在线观看 | 天天干com | 偷拍福利视频一区二区三区 | 娇妻呻吟一区二区三区 | 久久精品成人热国产成 | 69国产成人综合久久精品欧美 | 日本黄色片一区二区 | 五月天丁香亚洲 | 久热电影 | 日韩在线小视频 | 婷婷精品国产一区二区三区日韩 | 在线观看免费高清视频大全追剧 | 久久69精品| 五月婷婷久 | 日韩大片免费观看 | 日本动漫做毛片一区二区 | 黄色亚洲大片免费在线观看 | 国内丰满少妇猛烈精品播 | 97超碰人人模人人人爽人人爱 | 五月丁婷婷 | 四虎成人精品永久免费av | 国产中文字幕视频在线观看 | 午夜私人影院久久久久 | 91在线免费播放 | 人人搞人人爽 | 久艹在线免费观看 | 亚洲国产mv | 玖玖精品视频 | 婷婷伊人综合亚洲综合网 | 亚洲成人二区 | 又污又黄网站 | 最近中文字幕视频完整版 | 天天插天天干天天操 | 亚洲黄色av | 国产精品一区二区果冻传媒 | 婷婷综合伊人 | 午夜视频在线观看一区 | 色黄www小说 | 国产老太婆免费交性大片 | 午夜丰满寂寞少妇精品 | 日韩中文字幕亚洲一区二区va在线 | 国产精品久久久久久久久久ktv | 久久精品久久99精品久久 | 在线草 | 婷婷四房综合激情五月 | 亚洲专区在线播放 | 亚洲色图激情文学 | 亚洲视频电影在线 | 手机在线永久免费观看av片 | 精品久久一区二区三区 | 日韩精品一区不卡 | 91精品国产自产91精品 | 国产精品a久久久久 | 91在线视频在线观看 | 免费观看一级一片 | 麻豆91小视频 | 一本一本久久a久久精品牛牛影视 | 精品国产视频在线 | 日韩视频一区二区在线观看 | 色爱成人网 | 日韩免费精品 | 在线国产精品一区 | 91香蕉视频在线下载 | 国产成人高清在线 | avwww在线 | 欧美午夜精品久久久久久孕妇 | 国产精品久久久久久久久久免费 | 免费观看成年人视频 | a'aaa级片在线观看 | 欧美成人h版在线观看 | 欧美精品黑人性xxxx | 色婷在线 | 欧美精品二区 | 91在线看视频免费 | 国产精品一区二区精品视频免费看 | 久久99久久99精品免视看婷婷 | 91日韩在线视频 | 日日夜夜狠狠 | 成人免费观看电影 | 一区二区三区电影大全 | 国产精品大全 | 99热这里只有精品8 久久综合毛片 | 97在线免费 | 成人小视频在线播放 | 日日操网站 | 欧美色插 | 久久免费播放 | 久久精品首页 | 国产高清视频 | 天天搞夜夜骑 | 久久久精品小视频 | 91在线观看高清 | av免费试看| 日韩一区二区免费在线观看 | 91精品久久久久久综合乱菊 | 91丨九色丨首页 | 国产午夜精品久久 | 婷婷久月| 黄色网免费 | 国产主播大尺度精品福利免费 | 欧美在线观看视频免费 | 国产视频97| 国产99久久九九精品免费 | 黄色小网站免费看 | 91大神电影 | 欧美日本国产在线观看 | 免费看黄在线 | 91精品一区二区在线观看 | 婷婷六月色 | av成人动漫在线观看 | 亚洲国产日韩一区 | 亚在线播放中文视频 | 97麻豆视频| 免费在线播放av电影 | 91丨porny丨九色 | 亚洲天堂网在线播放 | 亚洲激情一区二区三区 | 九九在线视频 | 成人h动漫精品一区二 | 婷婷六月久久 | 成人午夜片av在线看 | 日韩网站一区二区 | 在线观看日本高清mv视频 | 欧美日韩国产精品一区 | 日韩精品偷拍 | 免费av小说| 蜜臀aⅴ精品一区二区三区 久久视屏网 | 午夜影院一级 | 深爱激情五月网 | 天天操天天射天天爽 | 91九色蝌蚪视频在线 | 日韩大片在线播放 | 亚洲人成人天堂h久久 | 97精品伊人 | 国产亚洲精品久久久久久无几年桃 | 91久久在线观看 | 97在线资源 | 欧美日韩在线视频观看 | 国产麻豆精品免费视频 | aa一级片 | 国产精品福利无圣光在线一区 | 免费三级a | 精品乱码一区二区三四区 | aⅴ视频在线 | 欧美在线视频精品 | 麻豆成人在线观看 | 97在线播放 | 久久午夜视频 | 久久经典国产视频 | 玖玖视频免费在线 | 亚洲综合小说电影qvod | 一区二区中文字幕在线观看 | 中文字幕二区三区 | 国产原创91 | 狠狠做深爱婷婷综合一区 | 在线精品国产 | 午夜手机电影 | 国产精品一区二区中文字幕 | 一本一道波多野毛片中文在线 | www国产一区 | 500部大龄熟乱视频 欧美日本三级 | 四虎国产精品免费观看视频优播 | 久久久综合电影 | 天天爱天天干天天爽 | 夜又临在线观看 | 天天天天色射综合 | 综合色久 | 日日草av | 天天躁天天操 | 免费久久久久久 | 欧美激情综合五月色丁香 | 婷婷视频 | japanesexxxhd奶水 国产一区二区在线免费观看 | 久久久久久久久久久久av | 久久国色夜色精品国产 | 欧美成人h版在线观看 | 99精品久久久久久久久久综合 | 久久久麻豆精品一区二区 | av在线在线 | 美女福利视频在线 | 婷婷五月情 | 97国产小视频 | 日韩欧美精品在线视频 | 欧美激情视频一区 | 欧美大片aaa | 天天艹日日干 | 日精品在线观看 | av网址在线播放 | av在线一级| 婷婷色资源 | 免费久久久久久久 | 国产成人精品久久久久蜜臀 | 福利视频导航网址 | 一级片色播影院 | 精品久久美女 | 天天操天天操天天操天天操 | 日韩国产欧美在线播放 | 中文字幕在线观看免费高清完整版 | 九色在线视频 | 日韩国产在线观看 | 日韩有码中文字幕在线 | 久久精品小视频 | 在线观看深夜福利 | 九九九九九九精品 | 97碰在线| 欧美污网站 | 久久女同性恋中文字幕 | 国产一区二区久久精品 | 五月天最新网址 | 亚洲激情国产精品 | 九九热免费在线视频 | 欧洲一区二区三区精品 | 国产电影黄色av | 亚洲精品男人的天堂 | 13日本xxxxxⅹxxx20 | 二区三区在线 | 超级碰碰碰碰 | 欧美性猛片, | 日韩一二区在线 | 亚洲免费公开视频 | 亚洲精品免费在线播放 | 免费男女羞羞的视频网站中文字幕 | 日韩精品一区二区三区高清免费 | 日韩网站在线免费观看 | 最新中文字幕视频 | 国产中文字幕在线播放 | 波多野结衣久久精品 | 欧美一区二区免费在线观看 | 黄污网站在线观看 | 久久免费看片 | 欧美一级视频免费看 | 久草视频免费在线播放 | 在线观看黄 | 91麻豆精品国产午夜天堂 | 又黄又爽又刺激的视频 | 国产女教师精品久久av | 九九热在线精品 | 波多野结衣视频一区二区 | 精品久久久久久亚洲综合网 | 天天综合人人 | 麻豆传媒电影在线观看 | 特级西西444www大精品视频免费看 | 在线视频 一区二区 | 国产理论在线 | 婷婷丁香六月天 | 一区在线观看 | 成人黄色毛片 | 天天综合中文 | 成人app在线免费观看 | 国产在线不卡精品 | 亚洲精品美女久久久 | 亚洲精品视频偷拍 | 二区三区中文字幕 | 精品视频国产 | 日韩午夜电影网 | 成人在线视频一区 | 久久国产精品久久精品 | 狠狠狠色丁香婷婷综合久久88 | 欧美日韩在线观看一区 | 成人在线观看资源 | 五月天激情开心 | 国产精品久久久久永久免费 | 婷婷在线精品视频 | 少妇bbb搡bbbb搡bbbb′ | 久久精品久久精品久久 | 福利在线看片 | 中文字幕美女免费在线 | ww视频在线观看 | 色爱区综合激月婷婷 | 五月婷婷黄色网 | 六月丁香婷 | 欧美日韩不卡一区二区 | 亚洲在线网址 | 福利一区二区在线 | 可以免费观看的av片 | 国产美女久久久 | 久久在现 | 91精品视频免费在线观看 | 色网站黄 | 麻豆久久精品 | 国产精品黄网站在线观看 | 亚洲国产日韩在线 | 国产精品久久久久久久久久尿 | 日韩欧美在线不卡 | 精久久久久 | 精品视频一区在线观看 | 亚洲黄色在线播放 | 久久精品国产免费看久久精品 | 欧美巨大| 天天操天天摸天天爽 | 国产日韩精品一区二区在线观看播放 | 91精品免费看 | 操高跟美女 | 天天艹天天 | 亚洲黄色av | 91av在线播放视频 | 欧美日韩高清不卡 | 91视频在线观看下载 | 99久久网站 | 四虎www com| 国产精品久久久久久久久久99 | 国产精品福利午夜在线观看 | 久久亚洲成人网 | 精品国产一二三 | 免费开视频 | 国产中文字幕在线播放 | 国产很黄很色的视频 | 少妇自拍av | 久久高清av | av资源免费观看 | 国产精品久久久久久久久岛 | 亚洲无线视频 | 国产精品日韩欧美 | 正在播放国产精品 | 免费观看全黄做爰大片国产 | 色就是色综合 | 久久久久久久18 | 黄色三级久久 | 精品女同一区二区三区在线观看 | 午夜精品三区 | 久久精品国产一区二区 | 久久少妇av | 亚洲天堂网在线观看视频 | www.eeuss影院av撸| 一区中文字幕 | 国产一二区精品 | 高潮久久久 | 九九综合九九综合 | 国产精品18久久久久久首页狼 | 免费黄色av. | 亚洲精品资源在线 | 亚洲天堂网在线观看视频 | 草免费视频 | 国内精品免费久久影院 | 欧美久草视频 | 日韩av电影免费在线观看 | 久久久久久久久久久久av | 奇米7777狠狠狠琪琪视频 | 欧美激情精品久久久久久免费 | 欧美福利精品 | se婷婷| 日韩黄色在线电影 | 久久久国产精品一区二区三区 | 亚洲国产小视频在线观看 | 成人免费看黄 | 久久精品中文 | 亚洲一区二区观看 | 国产一区二区综合 | 色网av | 日韩综合一区二区三区 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 五月亚洲综合 | 久久精品二区 | 999男人的天堂 | 久久精品视频在线免费观看 | 91精品一区二区三区久久久久久 | 天天插综合网 | 天天色天 | 亚洲精品乱码久久久久久蜜桃欧美 | 久久久久久久久久久久av | 日韩成人精品一区二区三区 | 深爱激情五月综合 | 日韩在线观看网站 | 色偷偷888欧美精品久久久 | 深夜成人av | 在线观看一级片 | 国产精品av在线免费观看 | av在线永久免费观看 | 国产精品久久99综合免费观看尤物 | 韩日在线一区 | 久久久久激情视频 | 日韩网 | 超碰在线98| 在线观看一 | 视频91在线 | 999超碰| 久久麻豆精品 | 江苏妇搡bbbb搡bbbb | 九九导航| 99视频国产在线 | 久久久久亚洲精品国产 | 久久精品伊人 | 亚洲91中文字幕无线码三区 | 亚洲伦理精品 | 天天综合天天做天天综合 | 国产精品高清免费在线观看 | www日韩在线观看 | 91香蕉视频在线下载 | 97超碰人人澡 | 国产亚洲精品久久久久久移动网络 | 精品一区二区av | 中文字幕在线播放一区二区 | 黄色成人在线网站 | 亚洲成人免费在线 | 网站在线观看日韩 | 性色av免费观看 | 最近中文字幕mv免费高清在线 | 天天爽人人爽夜夜爽 | 色黄视频免费观看 | 久久,天天综合 | 国产精品久久久久久久久久久不卡 | 久久久久久毛片 | 欧美一区免费在线观看 | 成人9ⅰ免费影视网站 | 日批视频在线播放 | 少妇bbbb| 国产成人精品电影久久久 | 麻豆影视在线免费观看 | 日韩三区在线 | 日韩av中文在线观看 | 色www免费视频| 懂色av一区二区三区蜜臀 | 久久久久久美女 | 国产精品视频地址 | 国内一区二区视频 | 国产精品6999成人免费视频 | 一区二区不卡 | av解说在线 | 五月综合婷 | 亚洲国产一区二区精品专区 | www日日 | 成人在线一区二区三区 | 欧美日一级片 | 天堂av色婷婷一区二区三区 | 国产精品1区2区3区在线观看 | 色瓜| 亚洲电影影音先锋 | 国产精品美女久久久久久久久 | 夜夜操综合网 | av大片网址 | 中文字幕精品一区二区精品 | 在线免费观看黄色小说 | 一区二区三区国产精品 | 国产一级性生活 | 欧美性色黄| 精品久久精品 | 亚洲一级二级三级 | 亚洲综合欧美日韩狠狠色 | 婷婷在线五月 | 日韩久久视频 | 国产一区福利 | 91视频在线网址 | 国产小视频你懂的 | 久久无码精品一区二区三区 | 韩国精品福利一区二区三区 | 久久久国产精品麻豆 | 国内精品久久久久影院日本资源 | 97久久精品午夜一区二区 | 探花在线观看 | 亚洲免费不卡 | 国产精品自产拍在线观看中文 | 在线v| 国产色在线视频 | 天天添夜夜操 | 久久久久 免费视频 | 久久久亚洲国产精品麻豆综合天堂 | 久久久影视 | 免费av免费观看 | 成人国产网站 | 欧美日韩国产一区二 | 免费观看视频黄 | 69视频永久免费观看 | 色综合久久久久综合体桃花网 | 欧美日本国产在线观看 | 91探花在线视频 | 亚洲国产三级在线 | 日韩在线观看精品 | www.久久91 | 日本精品一区二区在线观看 | 亚洲精品乱码久久久一二三 | 中国老女人日b | 久久精品视频国产 | 天天做日日爱夜夜爽 | 黄色国产区 | 成人毛片在线观看视频 | 日韩成人av在线 | 日韩欧美在线观看一区二区三区 | 不卡的av片 | 久久国产电影院 | 欧美射射射| 97超视频免费观看 | 最近最新最好看中文视频 | 久久久久久久久国产 | 日韩丝袜 | 超薄丝袜一二三区 | 天天爱天天舔 | 久久高清视频免费 | 婷婷丁香激情五月 | 手机色在线 | 91久久奴性调教 | 成人免费在线视频观看 | 日韩性xxxx| 一区二区三区四区影院 | 精产嫩模国品一二三区 | 国产免费观看久久 | 五月天综合色激情 | 精品一区二区在线观看 | 久久久久www | aa一级片 | 免费av福利 | 亚洲伦理一区 | 午夜久操 | 成人免费在线播放 | 五月激情六月丁香 | 欧美日韩一区久久 | 亚洲 欧美 变态 国产 另类 | 黄色三级网站在线观看 | 在线国产一区二区 | 日韩欧美在线播放 | 亚洲第二色 | 正在播放国产一区二区 | 人人超碰人人 | 色综合天天射 | 欧美怡红院视频 | 午夜免费福利片 | 亚洲六月丁香色婷婷综合久久 | 欧美激情视频一区二区三区 | 久久久久伊人 | 国产色久 | 99久久婷婷国产一区二区三区 | 99精品在线视频播放 | 9999精品视频 | 免费成人结看片 | 欧美一级视频在线观看 | 日韩视频在线一区 | 在线观看 国产 | 夜色在线资源 | 午夜精品视频一区 | 91久久爱热色涩涩 | 成人午夜在线观看 | 在线亚洲午夜片av大片 | 91亚色视频 | 国产精品嫩草影院9 | 亚洲欧洲xxxx | 成人国产精品久久久久久亚洲 | 亚洲欧美国产精品va在线观看 | 久久精品毛片基地 | 一区二区三区在线观看免费视频 | 国产日韩欧美中文 | 国产日韩精品一区二区 | 日韩精品一区二区三区视频播放 | 九九热99视频 | 中文字幕大全 | 久久老司机精品视频 | 精品一区免费 | 久久久久久高潮国产精品视 | www.激情五月.com| 日韩成人免费在线电影 | 日韩国产精品一区 | 麻豆视频网址 | 国产精品18久久久久vr手机版特色 | 国语精品久久 | 欧美激情精品久久久久久免费印度 | 天天射天天干天天插 | 欧美色伊人 | 日日弄天天弄美女bbbb | 狠狠色噜噜狠狠 | 在线色吧 | 免费aa大片 | 成人全视频免费观看在线看 | 日日干天天爽 | 精精国产xxxx视频在线播放 | 国产精品99久久久久久武松影视 | 视频三区在线 | 麻豆视频91 | 一区二区三区在线不卡 | 伊人资源视频在线 | 91香蕉视频 mp4| 久久综合久久久久88 | av观看久久久 | 一区二区三区免费在线观看视频 | 成人一区不卡 | 天堂va在线高清一区 | 免费观看全黄做爰大片国产 | 欧美日韩国产精品爽爽 | 久久久影院官网 | 麻豆va一区二区三区久久浪 | 国产精品视频免费在线观看 | 午夜精品一区二区三区免费 | 欧美伦理一区二区三区 | 亚洲精品在线看 | 欧美性色黄大片在线观看 | 中文字幕亚洲在线观看 | 一级黄毛片| 国产91探花 | 国模精品一区二区三区 | 黄色av电影一级片 | 国产 色 | 国产麻豆传媒 | 青青河边草免费观看 | 91欧美在线 | 欧美在线观看视频一区二区 | 91精品国产乱码久久桃 | 人人爽久久久噜噜噜电影 | av九九九| av福利超碰网站 | 亚洲视频免费在线观看 | 五月天激情开心 | 美女av电影 | 国产免费xvideos视频入口 | 91九色视频 | 久久久亚洲成人 | www.天天成人国产电影 | 日韩欧美视频一区二区三区 | 久久 一区| 国产最新福利 | 免费av在| 久久成 | 久久理论视频 | 国产va精品免费观看 | 亚洲国产日韩一区 | bayu135国产精品视频 | 天天综合久久综合 | 国产亚洲精品久久久久久久久久久久 | 日韩中文字幕免费电影 | 国偷自产视频一区二区久 | av先锋中文字幕 | 国产日韩在线看 | 欧美久草视频 | 国产中文在线视频 | 欧美一区二区三区免费看 | 在线看小早川怜子av | 久久精品欧美一区二区三区麻豆 | 99久久影院 | 色吊丝在线永久观看最新版本 | 欧美一级免费 | 国产一区网址 | 西西444www大胆高清图片 | 欧美精品黑人性xxxx | 亚洲欧美999 | 国产精品igao视频网入口 | 久草在线免费电影 | 99re中文字幕| 国产高清99 | 91污污 | 99精品一区二区三区 | 中文字幕一区二区三区久久 | 欧美最猛性xxxxx(亚洲精品) | 草久久久久久 | 911国产精品| 久草剧场| 日韩久久久久久久久久久久 | 开心激情婷婷 | 在线观看免费日韩 | 玖玖爱国产在线 | 成人福利在线播放 | 色黄视频免费观看 | 日本在线视频一区二区三区 | 色视频网站在线观看一=区 a视频免费在线观看 | 在线v片免费观看视频 | 久久色视频 | 亚洲免费av在线播放 | 日韩精品一区二区三区高清免费 | 久久精品一二三区白丝高潮 | 国产一区二区在线观看视频 | 日韩精品一区二区三区第95 | 精品视频中文字幕 | 久久久久久免费毛片精品 | 毛片一级免费一级 | 欧美天天综合网 | 国产精品视频资源 | 四虎影视精品永久在线观看 | 日韩精品一区二区三区免费观看视频 | 日韩精品免费在线 | 久久久精品欧美一区二区免费 | 成人av一二三区 | a色视频 | 国产成人一级电影 | 天天操天天摸天天射 | 成人在线一区二区 | 久久精品国产一区二区三 | 九热在线 | 亚洲国产精品电影 | 国内揄拍国产精品 | 久久无码av一区二区三区电影网 | 免费在线观看av的网站 | 黄色成人免费电影 | 国产色视频一区 | 2019免费中文字幕 | 国产午夜精品理论片在线 | 欧美美女视频在线观看 | 夜夜操狠狠干 | 五月婷婷中文网 | 99r在线播放 | 国产理论片在线观看 | 涩涩网站在线 | 国产精久久 | 美女av在线免费 | 国产精品久久久久久久久久久免费看 | 在线中文字幕播放 | 天天要夜夜操 | 成人亚洲欧美 | 在线观看一区二区视频 | 日韩精品欧美一区 | 一区二区三区播放 | 91黄色小视频 | 色婷婷88av视频一二三区 | 日韩免费观看一区二区三区 | 婷婷久久综合网 | 综合网色 | 日韩在线 一区二区 | 成人欧美一区二区三区在线观看 | 国产精品区二区三区日本 | 天天躁日日躁狠狠躁av麻豆 | 国产精品va最新国产精品视频 | 在线视频电影 | 在线看黄色的网站 | 国产在线观看黄 | 国产手机在线观看 | 在线观看一区 | 激情综合色综合久久综合 | 久久99国产视频 | 99资源网 | 久久影院午夜论 | 黄色网址在线播放 | 成人在线观看你懂的 | 国产a国产a国产a | 国产精品久久久久久久午夜片 | 国产中的精品av小宝探花 | 成人全视频免费观看在线看 | 色综合天天色 | 午夜a区 | 日韩电影精品 | 成人av观看| 久久久精品国产免费观看一区二区 | 久久免费视频国产 | 久草电影在线观看 | 色综合 久久精品 | 狠狠躁日日躁狂躁夜夜躁av | 91av视频在线免费观看 | 国产精品v欧美精品v日韩 | 天天拍天天干 | 亚洲区另类春色综合小说校园片 | 久久一区二区三区国产精品 | 亚洲精品一区二区三区四区高清 | 成人三级视频 | 久久免费激情视频 | 丝袜美腿在线视频 | 亚洲欧美日韩一区二区三区在线观看 | 四虎国产精品成人免费影视 | 色综合色综合色综合 | 久久噜噜少妇网站 | 夜色资源站wwwcom | 免费a级毛片在线看 | 欧美夫妻性生活电影 | 午夜视频二区 | 黄色在线观看免费网站 | 在线亚洲午夜片av大片 | 国产xxxx做受性欧美88 | 香蕉久草 | 天天五月天色 | 亚洲欧美国产精品久久久久 | 色综合天天干 | 免费日韩高清 | 在线观看福利网站 | 国产又黄又硬又爽 | 最新日韩精品 | 亚洲综合在线五月 | 96精品视频 | 中文字幕一区二区三区四区久久 | 国产精品福利视频 | 成人av高清在线观看 | 夜夜干天天操 | 日韩欧美综合精品 | 中文字幕一区二区三区在线视频 | 97在线免费观看视频 | 不卡的av电影在线观看 | 国产成人综 | 久久激情视频 | 国产伦理久久精品久久久久_ | 在线视频观看成人 | 亚洲精品日韩一区二区电影 | 中文字幕丝袜美腿 | 91麻豆精品国产91久久久更新时间 | 成人毛片在线视频 | av大片免费看 | 亚洲精品视频在线观看免费 | 国产成人av电影在线 | 青青河边草免费直播 | 国产成人在线播放 | 成人av午夜 | 久久最新网址 | 黄色中文字幕 | 91在线精品秘密一区二区 | 亚洲免费在线观看视频 | 国产中文字幕在线看 | 综合色在线 | 亚洲一区二区精品视频 | 91精品蜜桃 | 国产一区二区精品91 | 国外成人在线视频网站 | 国产精品美女久久久 | 中文字幕一区二区三区乱码在线 | 成人在线免费观看视视频 | 色五月激情五月 | 午夜美女福利直播 | 亚洲精品国产综合久久 | 日狠狠 | 精品视频999| 成人小视频免费在线观看 | 麻豆视频在线播放 | 国产视频99 | 国产精品一区二区电影 | 日本一区二区三区免费看 | 91chinesexxx| 色偷偷av男人天堂 | 成全在线视频免费观看 | 三级视频片| 天天操夜夜干 | 自拍超碰在线 | 久久er99热精品一区二区三区 | 精品一区二区三区四区在线 | 亚洲一区二区三区毛片 | 在线 国产 亚洲 欧美 | 五月丁色 | 1区2区视频 | 久久99精品久久久久久三级 | 日本激情视频中文字幕 | 中文在线免费一区三区 | 日韩69视频 | 91最新在线视频 | 国产午夜剧场 | 中文字幕在线免费观看视频 | wwwwww色| 欧美日韩久久不卡 | 精品亚洲一区二区三区 | 久久九九影视 | 国产一级精品绿帽视频 | 亚洲综合丁香 | 成人在线播放免费观看 | 久草视频在线资源站 | 国产精品久久久久国产精品日日 | 成年人黄色在线观看 | 婷婷丁香自拍 | 欧美性大胆| 亚洲一区精品二人人爽久久 | 日韩高清免费在线观看 | 免费观看性生活大片 | 天天射天 | 在线午夜电影神马影院 | 插久久| 91女人18片女毛片60分钟 | 五月亚洲 | 成年人精品 | 欧美日韩国产一区二区三区 | 91福利视频久久久久 | 久久精品欧美 | 一区二区三区视频网站 | 97品白浆高清久久久久久 | 久久久久成人精品 | 在线观看国产永久免费视频 | 国产精品刺激对白麻豆99 | 91成人网在线观看 | 欧美精品首页 | 亚洲一级在线观看 | 久久精品久久99 | 国产精品1区2区3区在线观看 | 天天操天天色天天 | 二区三区在线视频 | 国产成人av一区二区三区在线观看 | 日韩乱色精品一区二区 | 亚洲精品国产精品国自产 | 在线观看激情av | 国产二级视频 | 久久手机在线视频 | 久久久久久久久久久影视 | 色婷婷97 | 在线成人一区 | 2022久久国产露脸精品国产 | 日韩在线中文字幕视频 | 97av精品| 久久视| 99综合影院在线 | 久草综合在线 | 99re国产| 久久久资源| 国产精品精 | 精品久久一级片 | 亚洲成a人片在线www | 在线国产能看的 | 免费高清影视 | 最新中文在线视频 | 欧美色图30p | 亚洲精品乱码久久久久久蜜桃不爽 | 亚洲区另类春色综合小说 | 精品一区二区三区久久 | 日韩有码欧美 | 婷婷免费在线视频 | 精品国产精品久久 | 欧美综合久久 | 免费在线观看污网站 | 国产一区二区三区在线 | 国产区欧美 | av高清网站在线观看 | 久久欧洲视频 | 国产精品高潮呻吟久久av无 | 69成人在线| www.香蕉视频 | 91中文字幕永久在线 | 国产国语在线 | 伊人开心激情 |