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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lion-tutorial11.htm

?? 內有一些代碼
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hInst,NULL</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; hwnd,eax</b> <br>
  <b>&nbsp;&nbsp;&nbsp; invoke ShowWindow, hwnd,SW_SHOWNORMAL</b> <br>
  <b>&nbsp;&nbsp;&nbsp; invoke UpdateWindow, hwnd</b> <br>
  <b>&nbsp;&nbsp;&nbsp; .WHILE TRUE</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke GetMessage, ADDR msg,NULL,0,0</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .BREAK .IF (!eax)</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke TranslateMessage, ADDR 
  msg</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke DispatchMessage, ADDR msg</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp; .ENDW</b> <br>
  <b>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax,msg.wParam</b> <br>
  <b>&nbsp;&nbsp;&nbsp; ret</b> <br>
  <b>WinMain endp</b> 
<p><b>WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM</b> <br>
  <b>&nbsp;&nbsp;&nbsp; .IF uMsg==WM_DESTROY</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke PostQuitMessage,NULL</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp; .ELSEIF uMsg==WM_COMMAND</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,wParam</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .if ax==IDM_OPEN</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov ofn.lStructSize,SIZEOF 
  ofn</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push hWnd</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pop&nbsp; 
  ofn.hwndOwner</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push hInstance</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pop&nbsp; 
  ofn.hInstance</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.lpstrFilter, OFFSET FilterString</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.lpstrFile, OFFSET buffer</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.nMaxFile,MAXSIZE</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.Flags, OFN_FILEMUSTEXIST or \</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  OFN_PATHMUSTEXIST or OFN_LONGNAMES or\</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  OFN_EXPLORER or OFN_HIDEREADONLY</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.lpstrTitle, OFFSET OurTitle</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke 
  GetOpenFileName, ADDR ofn</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .if eax==TRUE</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,OFFSET FullPathName</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,ofn.lpstrFile</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,offset CrLf</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,offset FullName</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  mov&nbsp; eax,ofn.lpstrFile</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  push ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  xor&nbsp; ebx,ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  mov&nbsp; bx,ofn.nFileOffset</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  add&nbsp; eax,ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  pop&nbsp; ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,eax</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,offset CrLf</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,offset ExtensionName</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  mov&nbsp; eax,ofn.lpstrFile</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  push ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  xor ebx,ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  mov&nbsp; bx,ofn.nFileExtension</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  add eax,ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  pop ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,eax</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke MessageBox,hWnd,OFFSET OutputString,ADDR AppName,MB_OK</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke RtlZeroMemory,offset OutputString,OUTPUTSIZE</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .endif</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .else</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke 
  DestroyWindow, hWnd</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .endif</b> <br>
  <b>&nbsp;&nbsp;&nbsp; .ELSE</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke DefWindowProc,hWnd,uMsg,wParam,lParam</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ret</b> <br>
  <b>&nbsp;&nbsp;&nbsp; .ENDIF</b> <br>
  <b>&nbsp;&nbsp;&nbsp; xor&nbsp;&nbsp;&nbsp; eax,eax</b> <br>
  <b>&nbsp;&nbsp;&nbsp; ret</b> <br>
  <b>WndProc endp</b> <br>
  <b>&nbsp;end start</b> <br>
<hr width="100%">
<h3> Analysis:</h3>
<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov ofn.lStructSize,SIZEOF 
ofn</b> <br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push hWnd</b> 
<br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pop&nbsp; 
ofn.hwndOwner</b> <br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push hInstance</b> 
<br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pop&nbsp; 
ofn.hInstance</b> 
<p>We fill in the routine members of ofn structures. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.lpstrFilter, OFFSET FilterString</b> 
<p>This FilterString is the filename filter that we specify as follows: 
<blockquote><b>FilterString db "All Files",0,"*.*",0</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  db "Text Files",0,"*.txt",0,0</b></blockquote>
Note that All four strings are zero terminated. The first string is the description 
of the following string. The actual pattern is the even number string, in this 
case, "*.*" and "*.txt". Actually we can specify any pattern we want here. We 
MUST put an extra zero after the last pattern string to denote the end of the 
filter string. Don't forget this else your dialog box will behave strangely. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.lpstrFile, OFFSET buffer</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.nMaxFile,MAXSIZE</b> 
<p>We specify where the dialog box will put the filename that the user selects. 
  Note that we must specify its size in nMaxFile member. We can later extract 
  the filename from this buffer. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.Flags, OFN_FILEMUSTEXIST or \</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  OFN_PATHMUSTEXIST or OFN_LONGNAMES or\</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  OFN_EXPLORER or OFN_HIDEREADONLY</b> 
<p>Flags specifies the characteristics of the dialog box. <br>
  OFN_FILEMUSTEXIST&nbsp; and OFN_PATHMUSTEXIST flags demand that the filename 
  and path that the user types in the filename edit control MUST exist. <br>
  OFN_LONGNAMES flag tells the dialog box to show long filenames. <br>
  OFN_EXPLORER flag specifies that the appearance of the dialog box must be explorer-like. 
  <br>
  OFN_HIDEREADONLY flag hides the read-only checkbox on the dialog box. <br>
  There are many more flags that you can use. Consult your Win32 API reference. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp; 
  ofn.lpstrTitle, OFFSET OurTitle</b> 
<p>Specify the title of the dialog box. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke 
  GetOpenFileName, ADDR ofn</b> 
<p>Call the GetOpenFileName function. Passing the pointer to the ofn structure 
  as its parameter. <br>
  At this time, the open file dialog box is displayed on the screen. The function 
  will not return until the user selects a file to open or presses the cancel 
  button or closes the dialog box. <br>
  It 'll return the value TRUE in eax if the user selects a file to open. It returns 
  FALSE otherwise. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .if eax==TRUE</b> 
  <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,OFFSET FullPathName</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,ofn.lpstrFile</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,offset CrLf</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,offset FullName</b> 
<p>In case the user selects a file to open, we prepare an output string to be 
  displayed in a message box. We allocate a block of memory in OutputString variable 
  and then we use an API function, lstrcat, to concatenate the strings together. 
  In order to put the strings into several lines, we must separate each line with 
  a carriage return-line feed pair. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  mov&nbsp; eax,ofn.lpstrFile</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  push ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  xor&nbsp; ebx,ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  mov&nbsp; bx,ofn.nFileOffset</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  add&nbsp; eax,ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  pop&nbsp; ebx</b> <br>
  <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke lstrcat,offset OutputString,eax</b> 
<p>The above lines require some explanation. nFileOffset contains the index into 
  the ofn.lpstrFile. But you cannot add them together directly since nFileOffset 
  is a WORD-sized variable and lpstrFile is a DWORD-sized one. So I have to put 
  the value of nFileOffset into the low word of ebx and add it to the value of 
  lpstrFile. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke MessageBox,hWnd,OFFSET OutputString,ADDR AppName,MB_OK</b> 
<p>We display the string in a message box. 
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  invoke RtlZerolMemory,offset OutputString,OUTPUTSIZE</b> 
<p>We must *clear* the OutputString before we can fill in another string. So we 
  use RtlZeroMemory function to do the job. <br>
  <strong><br>
  </strong>
<hr size="1">
<div align="center"> This article come from Iczelion's asm page, Welcom to <a href="http://asm.yeah.net">http://asm.yeah.net</a></div>

</body>
</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品乱人伦小说| 国产真实精品久久二三区| 91精品国产色综合久久不卡电影| 一区二区三区高清在线| 国产一区二区在线观看免费| 久久精品国产亚洲5555| 亚洲一区二区三区在线看| 亚洲国产成人av好男人在线观看| 一区二区不卡在线播放| 无吗不卡中文字幕| 国产精品一二一区| 亚洲国产cao| 欧美日韩精品一区二区三区四区 | 国产精品羞羞答答xxdd| 在线欧美日韩精品| 丁香一区二区三区| 亚洲第一精品在线| 欧美成人国产一区二区| 免费看精品久久片| 中文字幕亚洲视频| 日韩欧美精品三级| 欧美日韩精品是欧美日韩精品| 免费成人在线网站| 婷婷久久综合九色综合伊人色| 国产精品黄色在线观看| 91精品国产日韩91久久久久久| 国产精品18久久久久久久久久久久| 国产亚洲一区字幕| 欧美日韩一区二区欧美激情| 久久99久久99小草精品免视看| 色屁屁一区二区| 成人综合激情网| 国产精品天美传媒| 欧美日韩精品一区二区在线播放| 精品女同一区二区| 成人激情免费视频| 国产剧情一区二区三区| 天天综合色天天综合色h| 久久午夜老司机| 丁香六月综合激情| 精品一区二区免费| 日日噜噜夜夜狠狠视频欧美人| 中文无字幕一区二区三区| 不卡视频一二三四| 亚洲免费观看视频| 91精品国产综合久久香蕉麻豆| 亚洲手机成人高清视频| 日韩美女视频一区| av网站一区二区三区| 亚洲一线二线三线视频| wwww国产精品欧美| 成人午夜看片网址| 欧美精品亚洲二区| 精品少妇一区二区三区 | 99精品视频在线观看| 国产精品女同一区二区三区| 久久国产夜色精品鲁鲁99| 欧美大片一区二区三区| 国产成人午夜99999| 亚洲一区二区精品久久av| 日韩午夜中文字幕| 欧美丝袜自拍制服另类| 精品亚洲国内自在自线福利| 99精品在线观看视频| 丝瓜av网站精品一区二区| 久久精品欧美一区二区三区不卡| 色妹子一区二区| 国产真实乱偷精品视频免| 亚洲图片一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产一区二区三区日韩| 亚洲一区二区三区中文字幕在线| 久久在线观看免费| 美国十次综合导航| 欧美精品自拍偷拍动漫精品| 日韩精品成人一区二区在线| 亚洲精品少妇30p| 国产精品毛片高清在线完整版| 日韩欧美一区在线| 91精品国产综合久久久久久久| 色菇凉天天综合网| 欧美性受xxxx黑人xyx| 欧美亚洲禁片免费| 欧美日韩国产片| 欧美综合在线视频| 制服丝袜国产精品| 日韩三级免费观看| 久久综合久久鬼色中文字| 欧美一区二区福利视频| 成人免费福利片| 亚洲国产成人av| 午夜伊人狠狠久久| 日韩精品电影在线观看| 另类小说视频一区二区| 毛片av一区二区三区| 国产99一区视频免费| 波多野结衣在线一区| 麻豆成人综合网| 国产一区二区精品在线观看| 国产成人精品免费视频网站| 91丨国产丨九色丨pron| 欧美三级蜜桃2在线观看| 欧美电影免费观看完整版| 国产精品白丝在线| 三级一区在线视频先锋| 美国三级日本三级久久99| 久久97超碰国产精品超碰| 国产传媒日韩欧美成人| 91精品国产综合久久精品app| 国产欧美日韩综合| 精品一区二区三区久久| 欧美日韩一区三区四区| 最新高清无码专区| 国产激情91久久精品导航| 色av一区二区| 中文字幕av一区二区三区免费看 | 亚洲一区二区三区精品在线| 久久国产剧场电影| 欧美美女喷水视频| 亚洲私人影院在线观看| 国产精品99久久久久久似苏梦涵| 欧美日韩免费在线视频| 一区二区三区在线看| 91网站最新地址| 国产精品乱码一区二区三区软件 | 日韩欧美亚洲国产另类| 蜜臀va亚洲va欧美va天堂| 欧美午夜精品免费| 午夜av区久久| 日韩视频123| 日本麻豆一区二区三区视频| 欧美一区二区免费| 国产伦精品一区二区三区视频青涩| 日韩一区二区三区观看| 免费成人在线视频观看| 久久久国产一区二区三区四区小说 | 亚洲国产一区二区a毛片| 欧美日韩一区二区在线观看视频| 亚洲123区在线观看| 久久你懂得1024| 91麻豆成人久久精品二区三区| 亚洲一区在线视频| 精品欧美一区二区在线观看| 国产成人免费在线观看不卡| 国产精品一区二区在线观看不卡| 成av人片一区二区| 日韩中文欧美在线| 中文字幕巨乱亚洲| 日韩一区二区电影网| 在线看日本不卡| 欧美精品一区二区三区在线 | 久久精品国产秦先生| 国产精品热久久久久夜色精品三区| 在线观看视频91| 丁香一区二区三区| 亚洲va欧美va人人爽午夜| 欧美日韩在线一区二区| 成人开心网精品视频| 美女脱光内衣内裤视频久久网站| 欧美国产精品一区二区| 88在线观看91蜜桃国自产| 成人一区二区三区中文字幕| 奇米一区二区三区| 亚洲h动漫在线| 一区二区欧美精品| 亚洲男人的天堂av| 国产精品久久久久久久久动漫| 欧美变态口味重另类| 日韩欧美一级精品久久| 欧美一区在线视频| 精品粉嫩aⅴ一区二区三区四区| 7777精品伊人久久久大香线蕉完整版| 99久久伊人网影院| 国产69精品一区二区亚洲孕妇 | 日韩午夜在线影院| 欧美福利电影网| 日韩一级免费观看| 久久午夜羞羞影院免费观看| 久久久久免费观看| 国产精品国产三级国产有无不卡| 中文字幕电影一区| 日本一区二区免费在线| 亚洲欧美乱综合| 亚洲h在线观看| 国产精品一区二区无线| 91色九色蝌蚪| 欧美日韩国产综合一区二区三区| 色悠久久久久综合欧美99| 91精品免费在线观看| 亚洲精品一区二区在线观看| 欧美激情一区不卡| 亚洲成人www| 国产成人在线视频网址| 懂色一区二区三区免费观看| 色呦呦网站一区| 日韩免费高清av| 亚洲综合一区二区三区| 国产精品原创巨作av| 欧美一区在线视频| 一区二区三区中文免费|