亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vb的api編程精粹.txt

?? VB API編程精粹,精選VB API,用典型的實例說明api應用
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
Public Const STANDARD_RIGHTS_ALL = &H1F0000 
Public Const SPECIFIC_RIGHTS_ALL = &HFFFF 
'API的返回代碼常量 
Public Const ERROR_SUCCESS = 0& 
Public Const ERROR_ACCESS_DENIED = 5 
Public Const ERROR_NO_MORE_ITEMS = 259 
'返回數(shù)值類型常量 
Public Const REG_NONE = (0) 
Public Const REG_SZ = (1) 
Public Const REG_EXPAND_SZ = (2) 
Public Const REG_BINARY = (3) 
Public Const REG_DWORD = (4) 
PubliC ConSt REG_DWORD_LITTLE_ENDIAN = (4) 
Public Const REG_DWORD_BIG_ENDIAN = (5) 
Public Const REG_LINK = (6) 
Public Const REG_MULTI_SZ = (7) 
Public Const REG_RESOURCE_LIST = (8) 
Public Const REG_FULL_RESOURCE_DESCRIPTOR = (9) 
Public Const REG_RESOURCE_REQUIREMENTS_LIST = (10) 
'訪問注冊表的API函數(shù)要用到的結(jié)構(gòu)類型 
Type SECURITY_ATTRIBUTES 
nLength As Long 
lpSecurityDescriptor As Long 
bInheritHandle As Boolean 
End Type 
Type FILETIME 
dwLowDateTime As Long 
dwHighDateTime As Long 
End Type 
'要用到的API函數(shù)聲明 
………… 
(鑒于篇幅這里只介紹一下各API的作用而不再一一列其聲明;相關(guān)聲明請讀者查閱API瀏覽器) 
下面簡單地介紹一下這幾個API: 
RegOpenKeyEx():打開指定的關(guān)鍵字(32位); 
RegSetValueEx():在打開的注冊表關(guān)鍵字的值域中存儲數(shù)據(jù); 
RegCloseKey():釋放指定的關(guān)鍵字的句柄; 

VB的API編程精粹(4)

 

上面所講的聲明方法雖然簡單,但只有使用WIN DOWS本身的API函數(shù)才能這樣。對于第三方提供的動 態(tài)鏈接庫(DLL)您只有用鍵盤老老實實地敲了。 
第二節(jié):牛刀小試 
現(xiàn)在讀者一定很想自己親自試一下,下面舉兩個 實際應用的例子讓大家體會一下API的妙用吧! 
1.使一個窗體始終保持在屏幕的最上面 
我們知道VB本身自帶的函數(shù)是難以完成此功能 的,我們可以通過調(diào)用Windows的API函數(shù): SetWindowPos達到我們的要求。操作步驟如下: 
(1)啟動VB5建立一個新工程,在該工程中添加一 個模塊(Moudel),在該模塊中用上述的"API例覽器" 添加如下的該API函數(shù)的函數(shù)聲明和常量聲明部分: 
'API函數(shù)聲明 
Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 
'常量聲明 
Global Const SWP_HIDEWINDOW = &H80 
Global Const SWP_NOACTIVATE = &H10 
Global Const SWP_NOCOPYBITS = &H100 
Global Const SWP_NOMOVE = &H2 
Global Const SWP_NOOWNERZORDER = &H200 
Global Const SWP_NOREDRAW = &H8 
Global Const SWP_NOREPOSITION = SWP_NOOWNERZORDER 
Global Const SWP_NOSIZE = &H1 
Global Const SWP_NOZORDER = &H4 
Global Const SWP_SHOWWINDOW = &H40 
Global Const HWND_BOTTOM = 1 
Global Const HWND_BROADCAST = &HFFFF& 
Global Const HWND_DESKTOP = 0 
Global Const HWND_NOTOPMOST = -2 
Global Const HWND_TOPMOST = -1 
Global Const HWND_TOP = 0 
Global Const Flags=SWP_NOMOVE Or SWP_NOSIZE 
這里以"SWP_"開頭的常量是表示窗體所具有的 風格,這些常量可以通過VB中的"OR"操作符組合在 一起。而以"HWND_"開頭的常量表示窗體在桌面上的 位置。從這些常量的英文單詞的意義上讀者應該很容 易理解他們所具有的風格了。所以筆者就不一一去說 明了。至于為什么要添加這些常量而不是別的這就要 您去查看Windows SDK關(guān)于該函數(shù)的幫助文檔了。當 然這對于初學者來說有一定的難度,但不要畏懼,只 要您仔細看幫助就會慢慢搞懂的。因為這些API函數(shù) 是為C和C++的編程人員編寫的,所以如果您懂一點 C++的話會很容易理解的。 
(2)現(xiàn)在只要在您想要此功能的地方調(diào)用該函數(shù) 就可以了,調(diào)用的方法如: 
Dim Success as Long 
SuccesS=SetwindowPos(me.HWnd. HWND_TOPMOST,0,0,0,0,FLAGS) 
若Success返回的值不等于零則表示調(diào)用成功。 
比如在某個窗體的Load事件中加入上述的兩行代 碼,就可以達到使該窗體始終位于屏幕最上面的目的。 
細心的讀者可能已經(jīng)發(fā)現(xiàn)上面的例子中的模塊聲 明中聲明了好幾個常量,可為什么只用到三個呢?現(xiàn) 在您可以試著改變一下API函數(shù)"SetWindowPos"中 的第二個參數(shù)或常量FLAGS中的項,看看您的窗體會 出現(xiàn)什么樣的效果? 
2.VB5中如何屏蔽掉win95中的CTRL_ALT_DEL, CTRL_ESC, ALT_TAB三組熱鍵通過調(diào)用API函數(shù)"SystemParametersInfo"來實 現(xiàn)。 
首先創(chuàng)建一新工程;在此工程中添加一個窗體和 一個模塊;在窗體上拖放兩個按鈕分別命名為 "cmdDisable","cmdEnable";Copy如下代碼入模塊中: 
Public Declare Function SystemParametersInfo Lib "user32" Ahias "SystemParametersInfoA" (ByVal uAction As Long,ByVal uParam As Long, lpvParam As Any,ByVal fuWinIni As Long)AS Long 
Public Const SPI_SCREENSAVERRUNNING=97 
在窗體的代碼編輯區(qū)Copy如下代碼: 
'使三組熱鍵失效 
Private Sub cmdDisable_click() 
SystemParametersInfo 
SPI_SCREENSAVERRUNNING,True,byVal 1&,0 
End Sub 

Private Sub Form_Unload(Cancel As Integer) 
'程序退出前是熱鍵有效 
CndEnable_Click 
End Sub 
若將此功能和屏幕保護程序結(jié)合到一起,那您的屏幕 保護程序一定增色許多。 
API函數(shù)的簡單調(diào)用例子就是這么容易,相信現(xiàn)在您 對API的調(diào)用已不再感到神秘了,接下來我們就看看一個 比較復雜的應用。 
第三節(jié):高手進階 
上面的關(guān)于API的調(diào)用的例子只是為了帶您去Win dows API世界中去探索一下。相信您已探索到了一點眉 目并想去實現(xiàn)一些更"好玩"的東西了。好!下面就向您 介紹一個很"好玩"同時又會使您的程序看起來更專業(yè)化 的一個API調(diào)用。 
相信您的機器上一定裝有"金山詞霸",試著啟動它 您發(fā)現(xiàn)了什么?啟動畫面過后它"不見了"。把鼠標移到 桌面的右下角,原來它以圖標的形式"藏在" Windows 的托盤中。用鼠標右擊它還會彈出一個菜單功能項供您 選擇。現(xiàn)在您一定想把自己的程序也放到托盤,這樣您的 程序多具有專業(yè)水準! 
下面是此功能的實現(xiàn)步驟: 
1.這里我們調(diào)用的API函數(shù)是: "Shell_NotifyIcon",在您的模塊中添加如下的函數(shù)聲明 和常量聲明: 
'以下常量告訴系統(tǒng)在托盤中您的圖標上發(fā)生了什么 操作 
'常量聲明 
Public Const WM_MOUSEMOVE = &H200 '在圖標上移動鼠標 
Public Const WM_LBUTTONDOWN = &H201 '鼠標左鍵按下 
Public Const WM_LBUTTONUP = &H202 '鼠標左鍵釋放 
Public Const WM_LBUTTONDBLCLK = &H203 '雙擊鼠標左鍵 
Public Const WM_RBUTTONDOWN = &H204 '鼠標右鍵按下 
Public Const WM_RBUTTONUP = &H205 '鼠標右鍵釋放 
Public Const WM_RBUTTONDBLCLK = &H206 '雙擊鼠標右鍵 
Public Const WM_SETHOTKEY = &H32 '響應您定義的熱鍵 
'API函數(shù)聲明 
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long 
'自定義一個調(diào)用API Shell_NotifyIcon要用到的類 型"NOTIFYICONDATA" 
Public Type NOTIFYICONDATA 
cdSize As Long 'NOTIFYICONDATA類型的大小 
hwnd As Long '你的應用程序窗體的名柄 
uId As Long '應用程序圖標資源的ID號 
uFlags As Long '使那些參數(shù)有效它是以下枚舉類型中的 
'NIF_MESSAGE、NIF_ICON、NIF_TIP三組的組合 
uCallbackMessage As Long '鼠標移動時把此消息發(fā)給該圖標的窗體 
hIcon As Long '圖標名柄 
szTip As String*64 '當鼠標在圖標上時顯示的Tip文本 
End Type 

'這是一個枚舉類型它告訴API Shell_NotifyIcon去做什么操作 
Public Enum enm_NIM_Shell 
NIM_ADD=&H40 '在“金碟”中加一圖標 
NIM_MODIFY=&H1 '修改“金碟”中的圖標 
NIM_DELETE=&H2 '刪除“金碟”中的圖標 
NIF_MESSAGE=&H1 '使類型"NOTIFYICONDATA"中的uCallbackMessage有效 
NIF_ICON=&H2 '使類型"NOTIFYICONDATA"中的hIcon有效 
NIF_TIP=&H4 '使類型"NOTIFYICONDATA"中的szTip有效 
WM_MOUSEMOVE=&H200 '使鼠標移動消息有效 
End Enum 
'定義一個"NOTIFYICONDATA"類型的變量 
Public nidProgramData As NOTIFYICONDATA 
以上是函數(shù)及常量聲明和自定義的一個類型變量,下 面是此API函數(shù)的調(diào)用方法: 
2. 在窗體上用菜單編輯一個具有如下信息的菜單項: 
主菜單:無標題、名稱(mainMenu) 
子菜單:標題(API編程)、名稱(submnul); 
標題(退出)、名稱(submnu2). 
這里只是舉個例子,具體的功能你可以根據(jù)你的具體需要來編輯此菜單項 
3. 在窗體的Load事件中添加如下代碼: 
Private Sub Form_Load() 
'隱藏窗體 
With Me 
.Top =-10000 
.Left = -10000 
.WindowState = vbMinimized 
End With 
'設(shè)置類型NOTIFYICONDATA所具有的特征 
With nidprogramData 
.cbSize = Len(nidProgramData) 
.hwnd = Me.hwnd .uld = vbNull 
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE 
'觸發(fā)鼠標移動消息 
.uCallbackMessage = WM_MOUSEMOVE 

VB的API編程精粹(5)

 

.hIcon = Me.Icon '“托盤”中放入窗體圖標,你可以把窗體的圖標換成你所喜歡的圖標 
.szTip ="VB 的 Win32 API 編程" & vbNullChar 
End With 

'調(diào)用該函數(shù) 
Shell_NotifyIcon NIM_ADD,nidprogramData 
End Sub 
'根據(jù)不同的鼠標消息做不同的操作 
Private Sub Form_MouseMove(Button As inte ger, Shift As lnteger, x As Single, Y As Single) 
On Error GoTo Form_MouseMove_err: 
Dim Result As Long 
Dim msg As Long 
'X的值依賴與顯示模式的設(shè)置 
If Me.ScaleMode = vbpixels Then 
msg = x 
Else 
msg = x/Screen.TwipsPerPixe1X 
End If 
Select Case msg 
Case WM_LBUTTONUP 
'在這里加入鼠標左鍵釋放時你想做的操作 
Case WM_LBUTTONDBLCLK 
'在這里加入雙擊鼠標左鍵時你想做的操作 
Case WM_RBUTTONUP 
'通常這里彈出你的功能菜單 
PopupMenu mainMenu 
Case WM_MOUSEISMOVING 
'在這里加入鼠標正在移動時你想做的操作 
End Select 
Exit Sub 

Form_MouseMove_err: 
'在這里加入你的處理異常錯誤的代碼 
End Sub  



Visual Basic (VB)作為一種高效編程環(huán)境,它封裝了部分Windows API函數(shù),但也犧牲了一些API的功能。調(diào)用API時稍有不慎就可能導致API編程錯誤,出現(xiàn)難于捕獲或間歇性錯誤,甚至出現(xiàn)程序崩潰。要減少API編程錯誤,提高VB調(diào)用API時的安全性,應重點注意下列八個問題: 
  (1)指定“Option Explicit” 
  編程前最好將VB編程環(huán)境中的“Require Variable Declaration(要求變量申明)項選中。如果該項未被指定,任何簡單的錄入錯誤都可能會產(chǎn)生一個“Variant”變量,在調(diào)用API時,VB對該變量進行強制轉(zhuǎn)換以避免沖突,這樣一來,VB就會為字符串、長整數(shù)、整數(shù)、浮點數(shù)等各種類型傳遞NULL值,導致程序無法正常運行。 
  (2)注意VB整數(shù)和Win32整數(shù)的區(qū)別 
  在VB環(huán)境下,涉及到的所有integer(整型數(shù)),都是16位,而一旦涉及C/C++Win32文檔時,則是32位,閱讀與Windows API函數(shù)或與32位動態(tài)鏈接庫有關(guān)的資料或應用程序時,尤其要注意分析理解環(huán)境背景,以利于分清數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu),正確地聲明API函數(shù)。 
  (3)減少和避免使用As Any 
  雖然用As Any的方法聲明庫,可使Windows API函數(shù)能接受多種類型的參數(shù),但更嚴重的是,即使是一個很小的錯誤,比如遺漏類型標識符或錯誤地使用了ByVal關(guān)鍵字,都可能導致系統(tǒng)崩潰或很難發(fā)現(xiàn)的其他數(shù)據(jù)錯誤。 
  (4)注意檢查參數(shù)類型 
  API錯誤中,除了因遺漏ByVal關(guān)鍵字導致的錯誤外,大約有50%是因為聲明中有不正確的參數(shù)類型。在Win32環(huán)境下,無論是8位、16位,還是32位數(shù)值變量都是以32位傳遞,如果同時使用,則很難發(fā)現(xiàn)其中錯誤。如果聲明的參數(shù)類型不同,被VB視為Variant傳遞給API函數(shù),會出現(xiàn)“錯誤的DLL調(diào)用規(guī)范”的消息。 
  (5)勿忘ByVal,確保函數(shù)聲明的完整性 
  ByVal是“按值”調(diào)用,參數(shù)傳遞時,不將指向DLL的指針傳遞給參數(shù)變量本身,而是將傳遞參數(shù)值的一份拷貝傳遞給DLL。比如傳遞字符串參數(shù)時,VB與DLL之間的接口支持兩種類型的字符串,如未使用ByVal關(guān)鍵字,VB將指向DLL的函數(shù)指針傳遞給一個OLE2.0字符串(即BSTR數(shù)據(jù)類型),而Windows API函數(shù)往往不支持這種數(shù)據(jù)類型,導致錯誤。而使用ByVal關(guān)鍵字后VB將字符串轉(zhuǎn)變換成C語言格式的“空終止”串,被API正確使用。 
  (6)重新檢查函數(shù)名 
  在Win16環(huán)境下,API函數(shù)的名字不要求區(qū)分大小寫,而在Win32環(huán)境下,則有此要求。在一個DLL函數(shù)里找不到聲明的函數(shù)時,有必要檢查一下函數(shù)名,對于管理字符串的函數(shù),是否遺漏了A和W前綴。 
  (7)預先初始化字符串,以免造成沖突 
  如果API函數(shù)要求一個指向緩沖區(qū)的指針,以便從中載入數(shù)據(jù),而此時傳遞的是字符串變量,應該先初始化字符串長度。因為API無法知道字符串的長度——API默認已為其分配有足夠的長度。沒有初始化字符串,分配給字符串的緩沖區(qū)有可能會不足,API函數(shù)將有可能在緩沖區(qū)末尾反復改寫,內(nèi)存里字符串后面的內(nèi)容將會改寫得一塌糊涂。程序表現(xiàn)為突然終止或間歇性錯誤。 
  (8)跟蹤檢查參數(shù)、返回類型和返回值 
  VB具有立即模式和單步調(diào)試功能,利用這個優(yōu)勢,確保函數(shù)聲明的類型明確(API不返回Variant類型),通過跟蹤和檢查參數(shù)的來源及類型,可以排除參數(shù)的錯誤傳遞。許多API函數(shù)都有返回結(jié)果,指出自己是否執(zhí)行成功。你若要對返回結(jié)果進行測試,用VB的Err對象的LastDllError方法可查閱這些信息,對錯誤可針對API函數(shù)調(diào)用,取回API函數(shù)GetlastError的結(jié)果,以修改聲明,達到正確調(diào)用API函數(shù)之目的。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美中日韩| 久久久久久久综合狠狠综合| 亚洲色图另类专区| 91视频免费播放| 亚洲综合一区二区精品导航| 欧美日韩在线免费视频| 丝袜国产日韩另类美女| 精品国产乱码91久久久久久网站| 久久99精品久久久久久动态图| 精品国产一区久久| 丁香婷婷深情五月亚洲| 亚洲三级在线免费| 欧美日韩视频不卡| 九九精品一区二区| 日本一区二区三区四区在线视频| 99久久99久久久精品齐齐| 一区二区三区在线免费视频| 欧美疯狂性受xxxxx喷水图片| 麻豆成人91精品二区三区| 欧美国产亚洲另类动漫| 成人av一区二区三区| 一区二区三区在线高清| 精品国产一区二区国模嫣然| 成人性生交大片免费看中文 | 日本三级韩国三级欧美三级| 精品国精品自拍自在线| 99re这里只有精品6| 99re这里只有精品视频首页| 亚洲成人你懂的| 久久精品无码一区二区三区| 欧洲视频一区二区| 国产精品综合一区二区三区| 亚洲国产视频在线| 国产欧美日本一区二区三区| 欧美少妇性性性| 粗大黑人巨茎大战欧美成人| 日精品一区二区| 亚洲美女屁股眼交| 久久久久9999亚洲精品| 欧美美女直播网站| 99精品欧美一区二区三区小说 | 午夜精品爽啪视频| 日本一区二区不卡视频| 日韩亚洲欧美一区| 欧洲生活片亚洲生活在线观看| 国产一区啦啦啦在线观看| 亚洲成av人片在线| 国产精品久久精品日日| 久久中文字幕电影| 亚洲激情一二三区| 国产亚洲精品免费| 2023国产精品| 欧美一区二区三区在| 在线观看一区二区精品视频| 成人国产视频在线观看| 久久99国产精品免费网站| 亚洲国产人成综合网站| 国产精品灌醉下药二区| 国产亚洲va综合人人澡精品| 91精品婷婷国产综合久久| 欧美日韩一级黄| 在线精品国精品国产尤物884a| 波多野结衣中文一区| 成人午夜视频在线观看| 国产伦精品一区二区三区视频青涩| 首页欧美精品中文字幕| 午夜精品aaa| 婷婷国产在线综合| 丝袜美腿亚洲色图| 视频在线观看91| 日韩av一级片| 久久99精品久久久久久国产越南 | 日韩久久久久久| 日韩一卡二卡三卡四卡| 欧美一区二区在线观看| 欧美精品自拍偷拍动漫精品| 欧美日韩国产综合草草| 欧美高清性hdvideosex| 在线观看91精品国产麻豆| 欧美日韩国产区一| 欧美一区二区三区男人的天堂| 欧美美女喷水视频| 91精品国产福利| 精品国产髙清在线看国产毛片| 日韩午夜在线观看| 久久综合给合久久狠狠狠97色69| 2欧美一区二区三区在线观看视频| 精品成人免费观看| 国产精品亲子伦对白| 日本一区二区久久| 成人听书哪个软件好| 99久久婷婷国产| 91九色02白丝porn| 欧美日韩免费电影| 欧美电视剧在线看免费| 久久精品一二三| 国产精品精品国产色婷婷| 亚洲午夜成aⅴ人片| 日韩成人一级片| 国产一区二区美女| 99久久综合色| 欧美日韩国产综合久久| 久久午夜老司机| 亚洲天堂精品在线观看| 热久久国产精品| 懂色av一区二区三区免费观看 | 51精品国自产在线| 亚洲精品在线电影| 亚洲私人影院在线观看| 舔着乳尖日韩一区| 国产成人午夜电影网| 色悠久久久久综合欧美99| 制服丝袜成人动漫| 久久精品亚洲精品国产欧美kt∨ | 91.xcao| 久久婷婷色综合| 亚洲丝袜制服诱惑| 日韩成人一区二区| 成人国产精品视频| 91精品国产色综合久久| 国产精品免费aⅴ片在线观看| 玉米视频成人免费看| 国产在线一区二区| 欧美色倩网站大全免费| 久久免费看少妇高潮| 亚洲成人一区在线| 丰满少妇久久久久久久| 欧美色爱综合网| 欧美国产一区二区| 免费人成精品欧美精品| 99re亚洲国产精品| 精品91自产拍在线观看一区| 亚洲一区国产视频| av电影一区二区| 久久久国际精品| 奇米色777欧美一区二区| 99久久99精品久久久久久 | 制服丝袜中文字幕亚洲| 成人欧美一区二区三区视频网页| 美女视频一区二区| 欧美在线观看禁18| 最近日韩中文字幕| 成人精品鲁一区一区二区| 欧美成人福利视频| 婷婷成人综合网| 91福利视频网站| 国产精品激情偷乱一区二区∴| 国产美女视频91| 日韩亚洲欧美一区二区三区| 午夜日韩在线电影| 色婷婷亚洲婷婷| 中文字幕日本不卡| 99久久精品国产毛片| 久久久久国产免费免费 | 中文字幕乱码日本亚洲一区二区| 蜜臀av一区二区在线免费观看| 欧美性色黄大片| 亚洲精品成人天堂一二三| 成人av电影免费在线播放| 欧美极品美女视频| 国产电影一区在线| 久久精品国产99国产| 日韩一级片在线播放| 午夜天堂影视香蕉久久| 欧美三区在线视频| 亚洲国产精品一区二区www | 激情深爱一区二区| 日韩一区二区三区三四区视频在线观看| 亚洲一区二区三区四区不卡| 在线视频欧美区| 亚洲国产综合人成综合网站| 日本大香伊一区二区三区| 亚洲天天做日日做天天谢日日欢| 99精品国产91久久久久久 | 日本一区二区三区四区 | 美女精品一区二区| 26uuu国产电影一区二区| 国产一区999| 亚洲国产精品成人综合| 99视频在线精品| 一区二区三区四区视频精品免费 | 亚洲成人综合网站| 欧美日韩情趣电影| 麻豆成人91精品二区三区| 精品久久久久久久一区二区蜜臀| 久久精工是国产品牌吗| 久久久久国产免费免费 | 成人小视频在线| 亚洲欧洲中文日韩久久av乱码| 欧美综合天天夜夜久久| 日韩vs国产vs欧美| 久久久不卡影院| 欧洲精品中文字幕| 色丁香久综合在线久综合在线观看| 一区二区激情小说| 日韩欧美一区在线| 高清av一区二区| 亚洲一区二区三区四区在线免费观看| 欧美久久久一区| 国产精品亚洲午夜一区二区三区 |