国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看


曙海教育集團論壇開發語言培訓專區VB語言 → 什么是API


  共有11820人關注過本帖樹形打印

主題:什么是API

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
什么是API  發帖心情 Post By:2010-12-14 14:31:43

首先,有必要向大家講一講,什么是API。所謂API本來是為C和C++程序員寫的。API說來說去,就是一種函數,他們包含在一個附加名為DLL的動態連接庫文件中。用標準的定義來講,API就是Windows的32位應用程序編程接口,是一系列很復雜的函數,消息和結構,它使編程人員可以用不同類型的編程語言編制出的運行在Windows95和Windows NT操作系統上的應用程序。可以說,如果你曾經學過VC,那么API對你來說不是什么問題。但是如果你沒有學過VC,或者你對Windows95的結構體系不熟悉,那么可以說,學習API將是一件很辛苦的事情。

如果你打開WINDOWS的SYSTEM文件夾,你可以發現其中有很多附加名為DLL的文件。一個DLL中包含的API函數并不只是一個,數十個,甚至是數百個。我們能都掌握它嘛?回答是否定的∶不可能掌握。但實際上,我們真的沒必要都掌握,只要重點掌握Windos系統本身自帶的API函數就可以了。但,在其中還應當拋開掉同VB本身自有的函數重復的函數。如,VB
的etAttr命令可以獲得文件屬性,SetAttr可以設置文件屬性。對API來講也有對應的函數
GetFileAttributes和SetFileAttributes,性能都差不多。如此地一算,剩下來的也就5、600個。是的,也不少。但,我可以敢跟你說,只要你熟悉地掌握100個,那么你的編程水平比現在高出至少要兩倍。盡管人們說VB和WINDOWS具有密切的關系,但我認為,API更接近
WINDOWS。如果你學會了API,首要的收獲便是對WINDOWS體系結構的認識。這個收獲是來自不易的。

如果你不依靠API會怎么樣?我可以跟你說,絕大多是高級編程書本(當然這不是書的名程叫高級而高級的,而是在一開始的《本書內容》中指明《本書的閱讀對象是具有一定VB基礎的讀者》的那些書),首先提的問題一般大都是從API開始。因此可以說,你不學API,你大概將停留在初級水平,無法往上攀登。唯一的途徑也許就是向別人求救∶我快死了,快來救救我呀,這個怎么辦,那個怎么辦?煩不煩呢?當然,現在網上好人太多(包括我在內,嘻嘻),但,你應當明白,通過此途徑,你的手中出不了好的作品。這是因為缺乏這些知識你的腦子里根本行不成一種總體的設計構思。
API文本游覽器 [返回]

很多API函數都是很長很長的。想看什么樣子嗎?如下就是作為例子的API DdeClientTransaction函數∶
Declare Function DdeClientTransaction Lib "user32" (pData As Byte, ByVal cbData As Long, ByVal hConv As Long, ByVal hszItem As Long, ByVal wFmt As Long, ByVal wType As Long, ByVal dwTimeout As Long, pdwResult As Long) As Long
哇!這么長?如果你從來沒有接觸過API,我想你肯定被嚇住了。你也許考慮,該不該繼續學下去。不過不要擔心,幸運的是Microsoft的設計家們為我們提供了有用的工具,這便是API
文本查看器。

通過API文本查看器,我們可以方便地查找程序所需要的函數聲明、結構類型和常數,然后將它復制到剪貼板,最后再粘貼到VB程序的代碼段中。在大多數情況下,只要我們確定了程序所需要的函數、結構和常數這三個方面后,就可以通過對API文本游覽器的以上操作將他們加入到程序段中,從而程序中可以使用這些函數了。這些是學習API最基本的常識問題,它遠遠占不到API的龐大的體系內容。今后我們把精力浪費(這絕不是浪費)在哪里呢?那就是∶
什么時候使用什么函數,什么時候使用什么結構類型,什么時候使用什么常數。
API函數聲明 [返回]

讓我們回想一下。在VB中,如何聲明函數呢?我想,如果你正在看此文,那么你絕對能夠回答得出這個問題。以下便是你應該很熟悉的函數聲明∶
Function SetFocus (ByVal hwnd As Long) As Long
即,這行代碼定義了名為SetFocus的函數,此函數具有一個Long型數據類型的參數,并按值傳遞(ByVal),函數執行后將返回一個Long型數據。
API函數的聲明也很類似,如,API中的SetFocus 函數是這樣寫的∶

Declare Function SetFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
有點復雜了一些。是的,是復雜了點。但我可以告訴你,除了這些多出來的部分,其他部分還是和你以前學到的東西是一樣的。函數在程序中的調用也是一樣。如:
Dim dl As Long
dl&=SetFoucs(Form1.Hwnd)
但,一點是清楚的。它不象你自己寫的程序那樣能夠看到里面的運行機理,也不像VB
自帶的函數那樣,能夠從VB的聯機幫助中查到其用法。唯一的方法就是去學、查VB以外的資料。

Declare 語句用于在模塊級別中聲明對動態鏈接庫 (DLL) 中外部過程的引用。對此,你只要記住任何API函數聲明都必須寫這個語句就可以了。
Iib 指明包含所聲明過程或函數的動態鏈接庫或代碼資源。也就是說,它說明的是,函數或過程從何而來的問題。
如在上例中,SetFocus Lib "user32"說明 函數 SetFocus 來自 user32.dll文件。主要的dll動態連接庫文件有∶
user32.dll Windows管理。生成和管理應用程序的用戶接口。

GDI32.dll 圖形設備接口。產生Windows設備的圖形輸出
Kernel32.dll 系統服務。訪問操作系統的計算機資源。
注意,當DLL文件不在Windows或System文件夾中的時候,必須在函數中說明其出處(
路徑)。如,SetFocus Lib "c:\Mydll\user32"
函數聲明中的Alias 是可選的。表示將被調用的過程在動態鏈接庫 (DLL) 中還有另外的名稱(別名)。如,Alias "SetFocus" ,說明SetFocus函數在User32.dll中的另外一個名稱是,
SetFocus。怎么兩個名都一樣呢?當然,也可以是不同的。在很多情況下,Alias說明的函數名,即別名最后一個字符經常是字符A,如SetWindowsText函數的另一個名稱是
SetWindowsTextA,表示為Alias "SetWindowsTextA"。這個A只不過是設計家們的習慣的命名約定,表示函數屬于ANSI版本。

那么,別名究竟有什么用途呢?從理論上講,別名提供了用另一個名子調用API的函數方法。如果你指明了別名,那么 盡管我們按Declare語句后面的函數來調用該函數,但在函數的實際調用上是以別名作為首要選擇的。如,以下兩個函數(Function,ABCD)聲明都是有效的,他們調用的是同一個 SetFocus函數∶
Declare Function SetFocus Lib "user32" "SetFocus" (ByVal hwnd As Long) As Long
Declare ABCD SetFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long

需要注意的是,選用Alias的時候,應注意別名的大小寫;如果不選用Alias 時的時候,函數名必須注意大小寫,而且不能改動。當然,在很多情況下,由于函數聲明是直接從API
文本游覽器中拷貝過來的,所以這種錯誤的發生機會是很少的,但您有必要知道這一點。
最后提醒你一句,API聲明(包括結構、常數)必須放在窗體或模塊的"通用(General Declarations)段。
數據類型與"類型安全" [返回]

API函數中使用的數據類型基本上和VB中的一樣。但作為WIN32的API函數中,不存在Integer
數據類型。另外一點是在API函數中看不到Boolean數據類型。 Variant數據類型在API函數中是以Any的形式出現,如Data As Any。盡管其含義是允許任意參數類型作為一個該API函數的參數傳遞,但這樣做存在一定的缺點。其原因是,這將會使得對目標參數的所有類型檢查都會被關閉。這自然會給各種類型的參數調用帶來了產生錯誤的機會。

為了強制執行嚴格的類型檢查,并避免上面提到的問題,一個辦法是在函數里使用上面提到到Alias技術。如對API函數 GetDIBits 可進行另外一種聲明方法。如下∶
GetDIBits函數的原型∶
Public Declare Function GetDIBits Lib "gdi32" Alias "GetDIBits" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
GetDIBits函數的改型∶

Public Declare Function GetDIBitsLong Lib "gdi32" Alias "GetDIBits" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Long, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
通過本課程前面所學到的知識,我們已經可以得知原型 GetDIBits函數也好,改型 GetDIBitsLong函數也好,實際將調用的都是Alias所指定的 GetDIBits原函數。但你應當看到,兩者的區別在于,我們在改型的函數中強制指定lpBits參數為Long形。這樣就會使得函數調用中發生的錯誤機率減少到了最小。這種方法叫做"安全類型"聲明。

API函數中經常看到的數據類型有∶Long,String,Byte,Any....(也就這些吧。)
常 數 [返回]

對于API常數來講,沒有什么太特別的學問。請看VB中的以下代碼∶
Msg = MsgBox("您好", vbOKCancel)
我們知道, vbOKCancel這個常數的值等于1。對上面的代碼我們完全可以這樣寫,而不會影響代碼的功能∶
Msg = MsgBox("您好", 1)
但你大概不太愿意選擇后一種,因為這會使得看懂代碼費勁起來。這種方法也被API采取了。只是API常數必須在事情之前做好初始化聲明VB本身是看不懂的。其內容仍然來自與API
文本游覽器。具體形式如下等等∶

Public Const ABM_ACTIVATE = &H6
Public Const RIGHT_CTRL_PRESSED = &H4
Public Const RPC_E_SERVER_DIED = &H80010007
Private Const RPC_S_CALL_FAILED_DNE = 1727&
在常數的初始化中,有些程序使用Global,如Global Const ABM_ACTIVATE = &H6,但我認為Public完全可以代替它。過去我也用過Global,但現在不大用了。一會兒用這個,一會兒用那個,各程序之間不能保持一致性了,起碼看起來別扭。
結 構 [返回]

結構是C和C++語言中的說法。在VB中一般稱為自定義數據類型。想必很多朋友都已經認識它。在API領域里,我更喜歡把它叫做結構,因為API各種結構類型根本不是我定義(
自定義)的。
在VB中,API結構同樣由TYPE.......END TYPE語句來定義。如,在API中,點(Point)結構的定義方法如下:
Public Type POINTAPI
X As Long '點在X坐標(橫坐標)上的坐標值

Y As Long '點在Y坐標(縱坐標)上的坐標值
End Type
又如,API中矩形(Rect)結構的定義如下∶
Public Type RECT
Left As Long '矩形左上角的X坐標
Top As Long '矩形左上角的Y坐標
Right As Long '矩形右下角的X坐標
Bottom As Long '矩形右下角的Y坐標

End Type
這些內容同樣可以從API文本游覽器中拷貝過來。這些結構中的變量名可隨意改動,而不會影響結構本身。也就是說,這些成員變量都是虛擬的。如,POINTAPI結構可改為如下∶
Public Type POINTAPI
MyX As Long '點在X坐標(橫坐標)上的坐標值
MyY As Long '點在Y坐標(縱坐標)上的坐標值
End Type
不過,一般來講,是沒有這種必要的。結構本身是一種數據類型,因此,使用時必須聲明具體變量為該結構型,才能在程序中真正使用到該結構。結構的聲明方法和其他數據的聲明方法一樣,如,以下語句把變MyPoint聲明為POINTAPI結構類型∶

MyPoint As POINTAPI
引用結構中的成員變量也十分簡單,在結構名后面加上一個".",然后緊接著寫要引用的成員變量即可。這很象VB中的引用一個對象的某個屬性。如,假如我們把上面已經聲明的MyPoint結構中的X變量的值賦給變量Temp&
則代碼如下∶
Temp&=MyPoint.X
但,特別注意的是,你千萬不要認為上例中的MyPoint是一個值。它不是值,而是地址(
指針)。值和地址是完全不同的概念。結構要求按引用傳遞給WINDOWS函數,即所有API
函數中,結構都是按ByRef傳遞的(在Declare語句 中ByRef是默認型)。對于結構的傳遞,你不要試圖采用ByVal,你將一無所獲。由于結構名實際上就是指向這個結構的指針(這個結構的首地址),所以,你也就傳送特定的結構名就可以了(參見小結,我用紅色字體來突出了這種傳遞方式)。

由于結構傳送的是指針,所以函數將直接對結構進行讀寫操作。這種特性很適合于把函數執行的結果裝載在結構之中。
小 結 [返回]

以下的程序是為了總結本課中學到的內容而給出的。啟動VB,新建一個項目,添加一個命令按鈕,并把下面的代碼拷貝到代碼段中,運行它。

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI '定義點(Point)結構
X As Long '點在X坐標(橫坐標)上的坐標值
Y As Long '點在Y坐標(縱坐標)上的坐標值
End Type
Sub PrintCursorPos( )
Dim dl AS Long
Dim MyPoint As POINTAPI
dl&= GetCursorPos(MyPoint) '調用函數,獲取屏幕鼠標坐標

Debug.Print "X=" & Str(MyPoint.X) & " and " & "Y=" & Str(MyPoint.Y)
End Sub
Private Sub Command1_Click()
PrintCursorPos

End Sub

輸出結果為(每次運行都可能得到不同的結果,這得由函數調用時鼠標指針在屏幕中所處的位置而決定)∶
X= 240 and Y= 151

程序中,GetCursorPos函數用來獲取鼠標指針在屏幕上的位置。

以上例子中,你可以發現,以參數傳遞的MyPpint結構的內容在函數調用后發生了實質性變化。這是由于結構是按ByRef傳遞的原因。

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

什么是API








簽名
国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看
<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    国产欧美精品一区二区三区| 成人黄色免费片| 国语对白做受69| 91精品国产综合久久男男| 欧美一进一出视频| 国产精品久久综合av爱欲tv| 欧美在线播放一区二区| 国产精品网址在线| 一区二区免费电影| 亚洲综合精品一区二区| 正在播放一区二区三区| 亚洲精品欧美一区二区三区| 欧美激情一区二区三区成人| 99热国产免费| 欧美在线观看网站| 日本不卡一区二区三区在线观看 | 性日韩欧美在线视频| 成人高h视频在线| 中文字幕一区综合| 国产精品视频在线免费观看| 97视频网站入口| 久久精品aaaaaa毛片| 国产精品久久视频| 欧美精品国产精品日韩精品| 国产伦精品一区二区三区| 热久久99这里有精品| 相泽南亚洲一区二区在线播放| 国产欧美欧洲在线观看| 97在线视频免费| 欧美一区1区三区3区公司| 国产主播欧美精品| 国产91精品青草社区| 色综合视频二区偷拍在线| 92国产精品视频| 国产成人综合亚洲| 久久久人成影片一区二区三区观看 | 欧美不卡在线一区二区三区| 国产在线播放不卡| 97超级碰碰人国产在线观看| 亚洲图片小说在线| 欧美一区观看| 精品国产一区二区三区麻豆免费观看完整版| 国产精品户外野外| 26uuu久久噜噜噜噜| 一级二级三级欧美| 午夜老司机精品| 美日韩精品免费| 成人黄色在线免费观看| 国产欧美日韩免费| 国产精品av电影| 8090成年在线看片午夜| 久久久久久久久久亚洲| 亚洲不卡一卡2卡三卡4卡5卡精品| 国产精品视频免费一区| 91亚色免费| 91在线色戒在线| 成人中文字幕在线观看| 成人欧美一区二区三区黑人孕妇| 国产成人精品一区二区| 国产成人精品久久二区二区91 | 亚洲自拍偷拍在线| 成人国产精品av| 国产精品香蕉国产| 国产精品稀缺呦系列在线| 国产精品av在线| 欧亚精品在线观看| 欧美在线观看一区二区三区| 欧美一级成年大片在线观看| 91成人在线播放| 欧美在线观看视频| 庆余年2免费日韩剧观看大牛| 91av在线不卡| 日本精品一区二区三区在线| 日本sm极度另类视频| 欧洲美女免费图片一区| 国产成人小视频在线观看| 欧洲日韩成人av| 国产成人综合亚洲| 国产欧美最新羞羞视频在线观看| 国产乱人伦真实精品视频| 国产日本欧美视频| 97netav| 国产精品一区二区三区观看 | 蜜桃视频成人| 日韩精品国内| 夜夜爽99久久国产综合精品女不卡| 性欧美精品一区二区三区在线播放 | 99re在线观看| 国产伦理一区二区三区| 精品国产一区二区三区麻豆免费观看完整版 | 亚洲成人18| 正义之心1992免费观看全集完整版| 色综合久综合久久综合久鬼88 | 国产91在线播放| 国产精品成人一区二区| 成人www视频在线观看| 91免费看网站| 欧美日韩一区在线观看视频| 中文字幕日韩一区二区三区不卡| 97超碰蝌蚪网人人做人人爽 | 久久久久五月天| 秋霞成人午夜鲁丝一区二区三区| 国产精品专区一| av一区二区三区免费| 精品日本一区二区三区在线观看 | 国产精品久久久久久影视| 成人精品久久一区二区三区| 国产精品一区二区在线观看| 日韩精品不卡| 欧美性视频在线| 成人写真视频福利网| 久久99精品久久久久久水蜜桃| 亚洲精品欧洲精品| 欧美一级免费视频| 亚洲一区二区在线| 色噜噜一区二区| 91精品国产乱码久久久久久久久| 国产女精品视频网站免费| 国产精品一区二区在线观看 | 国产私拍一区| 欧美肥老妇视频| 国产精品久久久久久超碰| 国产精品对白刺激久久久| 亚洲国产一区二区三区在线播| 668精品在线视频| 114国产精品久久免费观看| 欧美日韩精品免费观看视一区二区| 欧美国产日韩在线| 91精品久久久久久久久久久| 欧美性色黄大片人与善| 26uuu久久噜噜噜噜| 91久久精品一区二区别| 亚洲成人一区二区三区| 国产99在线|中文| 国产在线欧美日韩| 97视频免费在线看| 国产富婆一区二区三区 | 91免费视频网站| 欧美黑人3p| 国产97在线|亚洲| 九色视频成人porny| 午夜精品久久久久久久白皮肤 | 久久免费少妇高潮久久精品99| 国产日韩换脸av一区在线观看| 久久久久久欧美精品色一二三四| 国内精品久久久久影院优| 亚洲综合中文字幕68页| 欧美激情一区二区三区久久久 | 国产成人avxxxxx在线看 | 亚州欧美一区三区三区在线| 国产精品私拍pans大尺度在线| 欧美亚洲免费高清在线观看 | 久久久久久网站| 99国产超薄丝袜足j在线观看 | 久久精品日韩| 2019亚洲日韩新视频| 国产日韩亚洲精品| 欧美一区二粉嫩精品国产一线天| 97视频在线观看成人| 91日本在线视频| 成人精品久久一区二区三区| 欧美激情精品久久久久久变态| 97免费资源站| 成人黄色生活片| 日本一区高清不卡| 国产精品一区二区女厕厕| 色婷婷精品国产一区二区三区| 国产精品久久久av| 日韩欧美一区二区三区四区五区| 国产一区香蕉久久| 久久久久女教师免费一区| 国产精品初高中精品久久| 97精品在线观看| 久久婷婷开心| 成人网址在线观看| 成人在线国产精品| 久久精品aaaaaa毛片| 国产99久久精品一区二区永久免费| 欧美日韩亚洲一区二区三区在线观看| 国产精品老牛影院在线观看| 亚洲一区二区三区精品动漫| 97久久夜色精品国产九色 | 成人毛片网站| 欧美在线国产精品| 亚洲精品无人区| 国产成人精品一区二区三区福利| 国产成人精品一区二区三区| 亚洲一区三区电影在线观看| 国产一区二区三区四区五区在线| 国产精品免费电影| 久久久久久久久国产| 久久香蕉综合色| 91久久精品国产91久久| 2019亚洲日韩新视频| 亚洲啪啪av| 久久99精品国产99久久| 91日本在线视频| 国产精品久久久久久久久| 午夜精品久久久99热福利| 日本成人三级| 九色91在线视频| 亚洲free性xxxx护士白浆| 国产精品成人一区二区三区吃奶| 欧美激情精品久久久久久| 欧美极品日韩| 精品欧美一区二区久久久伦| 91久久偷偷做嫩草影院| 国产精品美女无圣光视频| 8x海外华人永久免费日韩内陆视频| 色狠狠久久av五月综合| 久久精品美女| 国产精品theporn88| 91精品国产综合久久久久久久久| 国产成人亚洲精品| 欧日韩在线观看| 国内精品久久久久伊人av | 国内精品二区| 高清国产在线一区| av电影成人| 91蜜桃网站免费观看| 成人久久久久久| 国产噜噜噜噜久久久久久久久| 日韩av观看网址| 日本欧美一二三区| 欧美又大又硬又粗bbbbb| 久久免费精品日本久久中文字幕| 欧美福利小视频| 亚洲精品免费在线看| 日本不卡一二三区| 欧美一区二区三区精美影视| 欧美日韩日本网| 久久精品国产一区二区三区不卡| 国产精品亚洲不卡a| 国产精品国产一区二区| 成人自拍网站| 精品国产免费一区二区三区| 久久精品国产第一区二区三区最新章节 | 成人黄视频免费| av免费观看久久| 电影午夜精品一区二区三区| 国产98在线|日韩| 国产综合18久久久久久| 久久久精品动漫| 日本一区视频在线播放| 日韩福利二区| 亚洲视频小说| 国内精品一区二区三区四区| 97精品伊人久久久大香线蕉| 欧美又大又粗又长| 国产精品成人免费电影| 国产精品一区久久久| 成人福利视频在线观看| 91亚洲精品丁香在线观看| 国产高清在线一区| 精品一区二区三区自拍图片区 | 8x拔播拔播x8国产精品| 欧美在线视频观看免费网站| 国产精品成av人在线视午夜片| 国产狼人综合免费视频| 亚洲最大福利网站| 九九九九九精品| 日韩高清国产一区在线观看| 欧美夫妻性生活xx| 琪琪第一精品导航| 成人av色在线观看| 精品久久一区二区三区蜜桃| 色噜噜一区二区| 久久久伊人欧美| 日韩女在线观看| 亚洲最大的免费| 欧美精品二区三区四区免费看视频 | 国产成人精品一区二区| 国产在线视频不卡| 精品国产一区二区三区麻豆小说 | 国产91在线视频| 91久久精品国产| 精品日韩电影| 欧美激情影音先锋| 国产精品网红直播| 久久久久久高清| 欧美激情亚洲激情| 国产有码在线一区二区视频| 精品视频一区在线| 国内精品小视频| 国产欧美精品xxxx另类| 精品伦精品一区二区三区视频| 亚洲二区自拍| 国产成人亚洲综合91精品| 高清国语自产拍免费一区二区三区| 欧美日韩三区四区| 26uuu久久噜噜噜噜| **亚洲第一综合导航网站| 日本免费高清一区二区| 青青草成人在线| 国产精品久久国产三级国电话系列| 视频二区一区| 国产精品美女免费视频| 欧美激情导航| 国产91免费观看| 久久人人九九| 日韩免费视频在线观看| 精品国产一区二区三区免费| 午夜精品久久久久久久白皮肤| 5566中文字幕一区二区| 中文字幕日韩一区二区三区不卡| 成人妇女淫片aaaa视频| 亚洲色图自拍| 91手机在线观看| 久久久久久久久久久久av| 99三级在线| 久久久久久久国产| 国产二区一区| 欧美亚洲在线视频| 欧美日韩一区二区三| 国产精品视频久久久| 人禽交欧美网站免费| 国产精品稀缺呦系列在线| 亚洲福利av在线| 91理论片午午论夜理片久久| 欧美国产激情18| 国产伦精品一区二区三区免 | 国产精品毛片a∨一区二区三区|国| 久久精品成人一区二区三区蜜臀| 欧美综合激情网| 久久艳妇乳肉豪妇荡乳av| 日韩av免费在线| 日韩精品久久久| 成人午夜高潮视频| 欧美激情在线一区| 国产欧美丝袜| 国产精品高潮视频| 亚洲精品国产精品国自产观看| 91久久精品日日躁夜夜躁国产| 伊人久久大香线蕉午夜av| 91久久精品一区二区别| 91国产中文字幕| 欧美日韩最好看的视频| 91视频国产高清| 2019中文在线观看| 日韩精品电影网站| 99国精产品一二二线| 午夜精品视频网站| 蜜桃在线一区二区三区精品| 成人两性免费视频| 51久久精品夜色国产麻豆| 日韩精彩视频| 国产精品xxxx| 国产精品日韩欧美综合| 欧美黑人又粗大| 麻豆久久久av免费| 91色p视频在线| 日韩av成人在线| 欧美黄色性视频| 欧美中日韩一区二区三区| 91在线免费看片| 国产精品黄色影片导航在线观看| 综合国产精品久久久| 欧美日韩亚洲免费| 国产精品日韩欧美一区二区三区 | 成人免费福利视频| 欧美一级成年大片在线观看| 亚洲欧美国产不卡| 久久资源亚洲| 国产伦精品一区二区三区照片 | 亚洲综合一区二区不卡| 国产99久久精品一区二区永久免费 | 亚洲91精品在线| 午夜精品亚洲一区二区三区嫩草 | 午夜精品一区二区在线观看| 国产精品传媒毛片三区| 国产精品自拍偷拍视频| 日韩免费av一区二区| 久久人人爽人人爽人人片av高请| 蜜桃成人免费视频| 国产aⅴ精品一区二区三区黄| 国产欧美日韩综合精品| 热re91久久精品国99热蜜臀| 久久久久久久999| 亚洲一区二区三区乱码| 欧洲一区二区日韩在线视频观看免费 | 国产精品久久久久久久久久ktv| 久久久亚洲天堂| 在线观看日韩片| 亚洲不卡1区| 神马影院午夜我不卡| 蜜桃精品久久久久久久免费影院| 国产伦精品一区二区三区四区免费 | 中文字幕在线亚洲三区| 视频一区不卡| 欧美中文娱乐网| 久久久久久a亚洲欧洲aⅴ| 国产精品v欧美精品v日韩| 亚洲一区二区三区香蕉| 国产精品一区二区在线| 国产精品自拍小视频| 国产精品久久久久久av福利软件 | 国产日韩欧美中文| 国产精品678| 国产精品入口免费视| 日本成人激情视频| 欧美主播福利视频| 国产mv久久久| 国产精品久久久久久av| 国产精品草莓在线免费观看| 国产精品久久99久久| 国产区精品视频| 亚洲aⅴ男人的天堂在线观看| 91久久精品久久国产性色也91| 91精品国产综合久久久久久蜜臀 | 99在线看视频| 国产一级二级三级精品| 欧美精品一区二区三区在线四季| 精品一区二区国产| 欧美日韩亚洲免费| 亚洲日本精品国产第一区| 欧美黑人xxxⅹ高潮交| 国产91精品久久久久久| 国产精品久久久久久久久久小说| 国产精品视频免费在线观看| 成人综合国产精品| av日韩中文字幕| 久久综合久久久| 亚洲精品永久www嫩草| 久久久噜噜噜久久久| 欧美在线视频播放| 国产欧美精品日韩精品| 92福利视频午夜1000合集在线观看| 国产成人精品免费视频大全最热| 蜜桃导航-精品导航| 欧美国产在线电影| 国产成人精品电影| av成人午夜| 青青草国产精品| 欧美激情精品久久久久久蜜臀| 69久久夜色精品国产7777| 国产精品视频一区二区三区四| 亚洲综合成人婷婷小说| 农村寡妇一区二区三区| 欧美极品美女电影一区| 国产精品日韩电影| 国产一区免费在线| 欧美国产日本高清在线 | 日本精品一区二区| 久久免费精品视频| 国产精品日韩在线播放| 成人在线看片| 先锋影音一区二区三区| 97在线观看视频| 国产美女扒开尿口久久久| 国产激情美女久久久久久吹潮| 日本精品视频一区| 97av在线视频| 91视频免费在线观看| 色播五月综合| 国产精品69av| 国产一区再线| 久久男人av资源网站| 成人激情在线播放| 欧洲一区二区在线| 日本在线精品视频| 国产视频一区二区三区四区| 欧美华人在线视频| 成人在线中文字幕| 亚洲a∨一区二区三区| 国产精品99一区| 国内精品久久久久久久果冻传媒| 在线一区日本视频| 国产精品亚洲一区二区三区| 欧美一级二级三级| 日韩av三级在线观看| 国产日韩久久| 91国自产精品中文字幕亚洲| 91免费版黄色| 欧美激情视频一区二区三区不卡| 国产日韩欧美日韩大片| 日韩精彩视频| 国产精品你懂得| 麻豆视频成人| 国产精品96久久久久久又黄又硬| 精选一区二区三区四区五区| 1769国产精品| 国产日韩亚洲精品| 欧美一区二区三区精品电影| 国产精品一区二区免费| 97视频在线播放| 国产九色91| 欧美在线视频a| 久久免费视频1| 国产精品久久久久久久久久久不卡| 久久资源亚洲| 国产精自产拍久久久久久蜜| 色综合久久久久久久久五月| 国产专区欧美专区| 欧美丰满老妇厨房牲生活| 97超碰最新| 国语自产精品视频在线看一大j8| 国产精品久久久久免费| 2020久久国产精品| 麻豆av一区二区| 国产精品美乳在线观看| 亚洲精品不卡| 亚洲最大的网站| 91精品国产91久久久| 精品国产免费人成电影在线观...| 91干在线观看| 欧美专区一二三| 亚洲一区二区三区视频| 97国产在线观看| 鲁片一区二区三区| 成人av.网址在线网站| 久久久久久成人精品| 国产一区二区高清视频| 国产精品久久久久久久久免费看 | 欧美日本亚洲| 91精品视频免费看| 久久久中精品2020中文| 久久久免费看| 91精品综合视频| 欧美资源在线观看| 午夜精品短视频| 国产精品一区免费观看| 国产成人综合精品在线| 中文有码久久| 久久精品二区| 5566av亚洲| 国产精品一区二区三区免费视频| 欧美激情在线狂野欧美精品| 麻豆精品蜜桃一区二区三区| 91久久综合亚洲鲁鲁五月天| 69国产精品成人在线播放| 日韩中文字幕一区| 精品国产一区二区三区四区vr | 国产91久久婷婷一区二区| 在线一区亚洲| 青青草久久网络| 国产精品夜夜夜一区二区三区尤| 国产精品青草久久久久福利99| 久久久免费观看| 水蜜桃亚洲精品| 精品网站在线看| 91精品综合久久| 国产日产久久高清欧美一区| 欧美一级大胆视频| 一区二区三区观看| 欧美亚洲丝袜| 精品综合在线| 国产成人成网站在线播放青青| 国产精品青草久久久久福利99| 国产91精品久久久久| 在线观看免费91| 日韩精品一区二区三区色偷偷| 国产伦精品一区二区三区免| 国产精品主播视频| 国产成人精品av| 6080yy精品一区二区三区| 色综合老司机第九色激情| 日韩av电影免费播放| 国外成人在线视频网站| 91超碰rencao97精品| 成人性生交xxxxx网站| 国产精品丝袜久久久久久高清| 国产91在线播放九色快色| 91av视频在线播放| 亚州国产精品久久久| 中文字幕一区综合| 亚洲一卡二卡| 一区二区三区在线观看www| 深田咏美在线x99av| 日韩欧美精品一区二区| 精品一区久久久| 免费av一区二区三区| 精品视频一区二区| 另类欧美小说| 日本一区免费| 色播五月综合| 亚洲一区二区不卡视频| 在线视频福利一区| 国内伊人久久久久久网站视频| 久久乐国产精品| 4438全国成人免费| 日韩男女性生活视频| 国产精品日韩欧美| 91精品久久久久久久久久久| 成人精品在线观看| 亚洲va国产va天堂va久久| 97在线电影| 国产一区视频观看| 久久久久久九九九九| 欧美资源一区| 亚洲最新在线| 午夜精品久久久久久久久久久久久| 8x海外华人永久免费日韩内陆视频| 奇米成人av国产一区二区三区 | 91日本在线观看| 99re热精品| 国产亚洲精品自在久久| 欧美一区二区综合| 中文字幕欧美日韩一区二区| 性色av一区二区咪爱| 国产精品91一区|