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

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

?? 012.txt

?? 會變語言實現的一些程序
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
                    invoke GlobalUnlock,pMemory 
                    invoke GlobalFree,hMemory 
                .endif 
                invoke SetFocus,hwndEdit 
            .elseif ax==IDM_SAVE 
                mov ofn.Flags,OFN_LONGNAMES or\ 
                                OFN_EXPLORER or OFN_HIDEREADONLY 
                invoke GetSaveFileName, ADDR ofn 
                    .if eax==TRUE 
                        invoke CreateFile,ADDR buffer,\ 
                                                GENERIC_READ or GENERIC_WRITE ,\ 
                                                FILE_SHARE_READ or FILE_SHARE_WRITE,\ 
                                                NULL,CREATE_NEW,FILE_ATTRIBUTE_ARCHIVE,\ 
                                                NULL 
                        mov hFile,eax 
                        invoke GlobalAlloc,GMEM_MOVEABLE or GMEM_ZEROINIT,MEMSIZE 
                        mov  hMemory,eax 
                        invoke GlobalLock,hMemory 
                        mov  pMemory,eax 
                        invoke SendMessage,hwndEdit,WM_GETTEXT,MEMSIZE-1,pMemory 
                        invoke WriteFile,hFile,pMemory,eax,ADDR SizeReadWrite,NULL 
                        invoke CloseHandle,hFile 
                        invoke GlobalUnlock,pMemory 
                        invoke GlobalFree,hMemory 
                    .endif 
                    invoke SetFocus,hwndEdit 
                .else 
                    invoke DestroyWindow, hWnd 
                .endif 
            .endif 
        .ELSE 
            invoke DefWindowProc,hWnd,uMsg,wParam,lParam 
            ret 
.ENDIF 
xor    eax,eax 
ret 
WndProc endp 
end start 



--------------------------------------------------------------------------------

分析:
        invoke CreateWindowEx,NULL,ADDR EditClass,NULL,\ 
                   WS_VISIBLE or WS_CHILD or ES_LEFT or ES_MULTILINE or\ 
                   ES_AUTOHSCROLL or ES_AUTOVSCROLL,0,\ 
                   0,0,0,hWnd,EditID,\ 
                   hInstance,NULL 
        mov hwndEdit,eax 
處理 WM_CREATE消息時,我們創建一個編輯控件。請注意,我們把該控件大小的有關參數都設成0,因為我們稍后將重新設置該編輯控件的大小,使得其覆蓋父窗口的整個客戶區。
注意:本例中我們沒有必要調用ShowWindow來顯示編輯控件,因為在創建時在其風格中已設置了WS_VISIBLE標志位,在創建父窗口時也可以使用這個小技巧。 

;============================================== 
;        Initialize the members of OPENFILENAME structure 
;============================================== 
        mov ofn.lStructSize,SIZEOF ofn 
        push hWnd 
        pop  ofn.hWndOwner 
        push hInstance 
        pop  ofn.hInstance 
        mov  ofn.lpstrFilter, OFFSET FilterString 
        mov  ofn.lpstrFile, OFFSET buffer 
        mov  ofn.nMaxFile,MAXSIZE 

創建完編輯控件后,我們初始話ofn變量的成員。因為稍后在保存文件時還要使用該結構體變量,所以此處只初始化要用到的公共部分。WM_CREATE 消息的處理部分是進行這種初始化的絕佳之處。 

    .ELSEIF uMsg==WM_SIZE 
        mov eax,lParam 
        mov edx,eax 
        shr edx,16 
        and eax,0ffffh 
        invoke MoveWindow,hwndEdit,0,0,eax,edx,TRUE 

當主窗口的客戶區部分大小改變時,我們的應用程序將接收到WM_SIZE 消息。當然該窗口第一次顯示時,我們也將接收到該消息。要接收到該消息,主窗口必須有CS_VREDRAW和CS_HREDRAW風格。我們應該把縮放編輯控件的動作放到此處。我們要把編輯控件變成和我們的窗口客戶區一樣大,所以先得要得到父窗口客戶區的大小。這些值包含在參數lParam中,lParam的高字部分是客戶區的高,底字部分是客戶區的寬。然后我們調用MoveWindow函數來重新調整編輯控件的大小,該函數不僅能夠移動窗口的位置,而且能夠改變窗口的大小。 

            .if ax==IDM_OPEN 
                mov  ofn.Flags, OFN_FILEMUSTEXIST or \ 
                                OFN_PATHMUSTEXIST or OFN_LONGNAMES or\ 
                                OFN_EXPLORER or OFN_HIDEREADONLY 
                invoke GetOpenFileName, ADDR ofn 

當用戶選擇了File/Open菜單項時,我們填充ofn的其他成員,然后調用GetOpenFileName函數顯示一個“打開文件”對話框。 

                .if eax==TRUE 
                    invoke CreateFile,ADDR buffer,\ 
                                GENERIC_READ or GENERIC_WRITE ,\ 
                                FILE_SHARE_READ or FILE_SHARE_WRITE,\ 
                                NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,\ 
                                NULL 
                    mov hFile,eax 

如果用戶選擇了一個文件時,我們調用CreateFile函數來打開。我們設置標志位來讓該函數的文件能夠讀寫。文件打開后我們把返回的文件句柄保存在一個全局變量中以便以后使用。CreateFile函數應用非常廣泛,其原型如下: 

CreateFile proto lpFileName:DWORD,\ 
                           dwDesiredAccess:DWORD,\ 
                           dwShareMode:DWORD,\ 
                           lpSecurityAttributes:DWORD,\ 
                           dwCreationDistribution:DWORD\, 
                           dwFlagsAndAttributes:DWORD\, 
                           hTemplateFile:DWORD 

dwDesiredAccess 指定想要進行的操作。 

0  打開文件查詢它的屬性。 
GENERIC_READ   打開文件讀 
GENERIC_WRITE  打開文件寫. 
dwShareMode 指定文件的共享模式。 
0  不讓其他進程共享,即當您打開該文件后,其他進程欲打開該文件時將失敗。 
FILE_SHARE_READ  允許其他進程讀。 
FILE_SHARE_WRITE  允許其他進程寫。 
lpSecurityAttributes 該屬性在WIN95下無效。 
dwCreationDistribution 指定欲生成的文件在其已存在和未存在時應做的動作。

CREATE_NEW 生成一個新文件。如果文件已存在則失敗。 
CREATE_ALWAYS 無論文件是否存在都生成一個新文件。 
OPEN_EXISTING 打開存在的文件。如果文件不存在則失敗。 
OPEN_ALWAYS 打開文件,如果該文件不存在則生成,這和在dwCreationDistribution 中設置 CREATE_NEW標志位一樣。 
TRUNCATE_EXISTING打開文件。打開時該文件的長度裁減到零(也即完全不要原來的文件了)。這要求調用進程必須有GENERIC_WRITE的權利,如果指定的文件不存在,該函數返回失敗。 
dwFlagsAndAttributes 指定文件的屬性。

FILE_ATTRIBUTE_ARCHIVE 該文件具有一般的歸檔文件的屬性。用戶可以用該標志位來標記文件的刪除和備份。 
FILE_ATTRIBUTE_COMPRESSED 文件或目錄是壓縮的。對于文件來說是壓縮其中的所有數據,而對于目錄來說新生成的子目錄和文件都要壓縮。 
FILE_ATTRIBUTE_NORMAL 該文件沒有一般的屬性集。該標志位只能單獨使用。 
FILE_ATTRIBUTE_HIDDEN 該文件是隱藏文件,當瀏覽一般的文件目錄時將不顯示它。 
FILE_ATTRIBUTE_READONLY 該文件是只讀文件。應用程序可以讀其中的內容,但不可以寫。 
FILE_ATTRIBUTE_SYSTEM 該文件是系統文件。 
                    invoke GlobalAlloc,GMEM_MOVEABLE or GMEM_ZEROINIT,MEMSIZE 
                    mov  hMemory,eax 
                    invoke GlobalLock,hMemory 
                    mov  pMemory,eax 
文件打開后,我們將分配一塊內存供隨后的API 函數ReadFile 和 WriteFile使用。我們使用標志GMEM_MOVEABLE來使得WINDOWS總是把內存塊移到可靠的內存中去,GMEM_ZEROINIT告訴WINDOWS把剛剛分配的內存置為零。如果GlobalAlloc調用成功的話,會在eax中返回內存塊的句柄,我們把該句柄傳給GlobalLock函數以得到指向內存塊的指針。 

                    invoke ReadFile,hFile,pMemory,MEMSIZE-1,ADDR SizeReadWrite,NULL 
                    invoke SendMessage,hwndEdit,WM_SETTEXT,NULL,pMemory 

使內存塊可用后,我們調用ReadFile函數從文件中讀數據。對于第一次打開的文件,文件的指針放在偏移0處,像本例中我們從偏移0處往前讀。ReadFile的第一個參數是文件句柄,第二個參數是指向內存塊的指針,接下來的參數是要讀的數據的長度,第四個參數是一個指向DWORD型的參數的指針,它用來存放實際讀的數據的長度。讀完了后,我們把這些內容存放到編輯控件中,這要用消息傳遞來完成,我們把消息WM_SETTEXT傳給編輯控件,其中的參數lParam中包含指向內存塊的指針。到此處,編輯控件就可以在它的客戶區顯示文件的內容了。 

                    invoke CloseHandle,hFile 
                    invoke GlobalUnlock,pMemory 
                    invoke GlobalFree,hMemory 
                .endif 

我們不再需要讓文件打開了,因為我們的目的是把修改后的數據保存到另一個文件而不是先前的那一個文件中去。所以我們可以調用CloseHandle來關閉文件。接下來我們解鎖內存塊,再釋放它。實際上我們可以暫不釋放內存塊,而在以后的操作中重新利用。我們為了演示的原由,選擇了釋放它。 

                invoke SetFocus,hwndEdit 

當打開文件對話框顯示在屏幕上時,輸入的焦點切換到了該對話框上。所以在該對話框關閉后,我們必須把焦點切換到編輯控件上。 現在打開文件的階段結束了,用戶可以編輯他們打開的文件了。當用戶想把修改后的內容保存到磁盤上時,必須選擇File/Save菜單項,這時會顯示一個保存文件對話框。顯示保存文件對話框其實和打開打開文件對話框基本一樣。您甚至可以認為他們的不同只是函數名稱不一樣而已。此處可以復用大多數ofn變量先前設置的成員的值。 

                mov ofn.Flags,OFN_LONGNAMES or\ 
                                OFN_EXPLORER or OFN_HIDEREADONLY 

本例中我們將生成一個新文件,所以一定不能有 OFN_FILEMUSTEXIST 和 OFN_PATHMUSTEXIST標志位。dwCreationDistribution 參數應當有CREATE_NEW標志位。 接下來的代碼和打開問對話框基本一樣。最后調用: 

                        invoke SendMessage,hwndEdit,WM_GETTEXT,MEMSIZE-1,pMemory 
                        invoke WriteFile,hFile,pMemory,eax,ADDR SizeReadWrite,NULL 

現在我們把修改后的數據從編輯控件中寫回內存塊,再從內存塊寫回新文件。 


--------------------------------------------------------------------------------




--------------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩国产手机在线| 国产精品网站在线播放| 91丨九色丨蝌蚪丨老版| 国产高清在线精品| 国产剧情在线观看一区二区| 激情综合色综合久久综合| 蜜桃av噜噜一区| 青青草97国产精品免费观看无弹窗版 | 怡红院av一区二区三区| 国产精品网友自拍| 亚洲欧美激情在线| 亚洲国产一区二区在线播放| 亚洲主播在线播放| 日本亚洲视频在线| 麻豆成人综合网| 国产精品一线二线三线精华| 国产福利视频一区二区三区| 成人黄色小视频| 欧美日韩精品一区二区三区蜜桃 | 亚洲午夜三级在线| 三级久久三级久久久| 国产毛片精品国产一区二区三区| 国产精品12区| 日本乱码高清不卡字幕| 欧美一级搡bbbb搡bbbb| 国产亚洲视频系列| 亚洲欧美一区二区三区久本道91| 日韩av一区二区在线影视| 国产在线视视频有精品| 色综合欧美在线视频区| 日韩一区二区在线免费观看| 久久久精品免费网站| 一区二区三区美女| 韩国成人福利片在线播放| 99天天综合性| 日韩一区二区精品葵司在线| 国产精品色眯眯| 婷婷综合五月天| 成人免费视频caoporn| 欧美日韩不卡在线| 国产女人水真多18毛片18精品视频| 亚洲欧美日韩精品久久久久| 蜜桃av一区二区三区电影| 91浏览器打开| 精品久久久久久久久久久久久久久 | 精品久久免费看| 亚洲色图在线视频| 激情欧美一区二区三区在线观看| 91视频在线观看免费| 精品电影一区二区三区| 一区二区三区不卡视频在线观看| 国产精品一区二区黑丝| 制服丝袜成人动漫| 亚洲人成伊人成综合网小说| 国产一区中文字幕| 91精品国产91久久久久久最新毛片 | 91在线观看成人| 久久久另类综合| 日本在线不卡视频| 欧洲中文字幕精品| 亚洲久草在线视频| 国产成人av福利| 精品sm在线观看| 麻豆91免费看| 日韩午夜av一区| 日韩精品一级中文字幕精品视频免费观看| 91在线一区二区三区| 中文字幕乱码久久午夜不卡| 国产精品66部| 国产视频911| 福利一区二区在线| 国产亚洲综合av| 国产成人免费视频精品含羞草妖精| 日韩欧美亚洲国产另类| 久久草av在线| 久久网站最新地址| 国产精品综合一区二区三区| 国产亚洲一区二区三区四区 | 91九色最新地址| 国产精品嫩草久久久久| 成人久久18免费网站麻豆| 中文字幕欧美区| 成人av网站免费观看| 国产精品久久午夜夜伦鲁鲁| 成人免费av资源| 亚洲码国产岛国毛片在线| 97超碰欧美中文字幕| 亚洲综合色网站| 欧美日韩国产中文| 毛片一区二区三区| 久久久亚洲午夜电影| 处破女av一区二区| 亚洲综合小说图片| 日韩小视频在线观看专区| 精品一区二区三区日韩| 久久久久久久久久久久电影| 丁香亚洲综合激情啪啪综合| 亚洲欧美综合色| 欧美撒尿777hd撒尿| 裸体健美xxxx欧美裸体表演| 日韩欧美一区中文| 国产成人亚洲综合a∨婷婷图片| 最新国产成人在线观看| 欧美日韩一区二区在线观看视频| 麻豆freexxxx性91精品| 国产精品成人在线观看| 欧美日韩成人一区| 国产成人aaa| 亚洲午夜久久久| 久久久精品影视| 欧美三级视频在线播放| 国产精品一区二区视频| 一区二区三区精品视频| 久久一二三国产| 日本乱码高清不卡字幕| 国产一区啦啦啦在线观看| 亚洲自拍偷拍麻豆| 欧美mv日韩mv| 91成人在线观看喷潮| 国产盗摄一区二区| 日本中文字幕一区二区有限公司| 欧美高清在线视频| 在线91免费看| 一本大道久久a久久精品综合| 久久av老司机精品网站导航| 亚洲精品免费电影| 国产丝袜在线精品| 日韩丝袜情趣美女图片| 91同城在线观看| 成人av资源站| 国产在线精品视频| 日韩不卡一区二区三区| 亚洲综合自拍偷拍| 亚洲欧洲一区二区在线播放| 日韩网站在线看片你懂的| 在线精品观看国产| 99re热视频这里只精品| 岛国精品在线播放| 国产一区二三区好的| 乱一区二区av| 久久精品二区亚洲w码| 午夜精品一区二区三区免费视频 | 欧美三级中文字幕在线观看| 波多野结衣中文字幕一区| 国产成人精品亚洲777人妖| 久久国产视频网| 美国av一区二区| 久久国产生活片100| 麻豆精品视频在线观看免费| 免费视频最近日韩| 亚洲超丰满肉感bbw| 亚洲一区二区高清| 一区二区三区 在线观看视频| 亚洲日本一区二区| 亚洲乱码中文字幕| 亚洲另类在线一区| 亚洲一区二区三区四区中文字幕| 亚洲人成亚洲人成在线观看图片 | 欧美午夜精品电影| 欧美性猛交一区二区三区精品| 91免费观看视频| 欧美性xxxxx极品少妇| 欧美日韩一级大片网址| 欧美一区二区三区四区久久| 日韩欧美在线网站| 国产视频在线观看一区二区三区 | 一本大道久久a久久精品综合| 色94色欧美sute亚洲13| 欧美精品视频www在线观看| 5月丁香婷婷综合| 精品国产电影一区二区| 久久久亚洲午夜电影| 中文字幕日韩欧美一区二区三区| 亚洲色图制服诱惑| 日本成人在线电影网| 国产一区二区三区精品欧美日韩一区二区三区 | 中文字幕av一区二区三区免费看 | 亚洲欧美激情小说另类| 亚洲国产精品视频| 激情深爱一区二区| 99久久夜色精品国产网站| 欧美三级电影网| 精品99一区二区| 亚洲私人黄色宅男| 日韩av一区二区三区| 国产在线不卡一区| 色婷婷久久综合| 欧美一区二区三区四区五区| 国产女主播在线一区二区| 亚洲男人电影天堂| 日本不卡一区二区三区高清视频| 国产精品综合二区| 欧美视频第二页| 国产欧美精品区一区二区三区| 一区二区三区免费| 国产精品12区| 欧美一区二区视频在线观看2020 | 91麻豆免费看| 久久亚洲捆绑美女| 亚洲图片欧美综合|