Win32 汇编语句模板
生活随笔
收集整理的這篇文章主要介紹了
Win32 汇编语句模板
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Win32 匯編語句模板
?
?
?
一 變量
?
?
?
;句柄 hInstance dd 0 hWnd dd 0 hPen dd 0 hPend dd 0 oldPen dd 0;過程變量 hInst :DWORD hPrevInst :DWORD hWin:DWORD hDC:DWORD hParent:DWORD hCtl :DWORDCmdLine :DWORD CmdShow :DWORD uMsg :DWORD wParam :DWORD lParam :DWORDa:DWORD ht:DWORD ID:DWORD;本地 LOCAL hDC:DWORD LOCAL mDC :DWORD LOCAL hBrush :DWORD LOCAL hOldBmp :DWORD LOCAL hReturn :DWORD LOCAL hOldBrush :DWORD LOCAL btn_hi :DWORD LOCAL btn_lo :DWORDLOCAL rct:RECT LOCAL ps:PAINTSTRUCT LOCAL wc :WNDCLASSEX LOCAL msg :MSGLOCAL Wtx :DWORD LOCAL var :DWORDLOCAL buffer1[128]:BYTE ; these are two spare buffers LOCAL buffer2[128]:BYTE ; for text manipulation etc..;自定義文本 szText szClassName,"bmbtn_Class" szText icoMsg1,"Single Icon Button" szText icoBtnCl,"BUTTON" szText blnk1,0 szText bmpBtnCl,"BUTTON" szText bmpMsg1,"Single Bitmap Button" ?二 Mov
;句柄mov mov hInstance,eax mov hWnd,eax mov hDC,eax mov hPen,eax mov oldPen,eax mov hIcon, eaxmov hBtn1, eax mov lpBtnProc, eax mov hBmp1, eax mov lpfnbmpProc, eax mov mDC,eaxmov hOldBrush,eax mov hReturn,eax mov hBrush,eax mov hOldBmp,eax mov eax,hReturn;mov到結構體 mov wc.hIcon,eax mov wc.hCursor, eax mov wc.cbSize, sizeof WNDCLASSEX mov wc.style, CS_HREDRAW or CS_VREDRAW \or CS_BYTEALIGNWINDOW mov wc.lpfnWndProc, offset WndProc mov wc.cbClsExtra, NULL mov wc.cbWndExtra, NULL mov wc.hInstance, hInst mov wc.hbrBackground, COLOR_BTNFACE+1 mov wc.lpszMenuName, NULL mov wc.lpszClassName, offset szClassName;變量mov mov eax, wDim mov Wtx, eax mov Wwd, 250 mov Wht, 150 mov CommandLine, eax ?三 條件語句
;if語句 .if uMsg == WM_COMMAND .if uMsg == WM_KEYDOWN .if wParam == 400;elseif語句 .elseif uMsg == WM_CREATE .elseif uMsg == WM_PAINT .elseif uMsg == WM_SIZE .elseif uMsg == WM_CLOSE .elseif uMsg == WM_DESTROY .elseif uMsg == WM_KEYUP .elseif uMsg == WM_LBUTTONDOWN .elseif uMsg == WM_LBUTTONUP.elseif wParam == 401.endif ?四 匯編指令
.386 .code .model flat, stdcall ; 32 bit memory model option casemap :none ; case sensitivereturn 0 return sDim return msg.wParamshr sDim, 1 shr wDim, 1 sub sDim, eax jmp StartLoop je ExitLoopcmp eax,0 xor eax,eaxproc ret endp end start ?五 調用Win32 API
;模塊和進程 invoke GetModuleHandle,0 invoke GetModuleHandle, NULL invoke ExitProcess,eax invoke GetCommandLine;窗口 invoke WinMain,hInstance,0,0,SW_SHOWDEFAULT invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT invoke ShowWindow,hWnd,SW_SHOWNORMAL invoke UpdateWindow,hWnd invoke SetWindowLong,hBtn2,GWL_WNDPROC,BtnProc invoke SetWindowLong,hBtn4,GWL_WNDPROC,bmpProc invoke SetWindowExtEx,hDC,100,100,0 invoke DefWindowProc,hWin,uMsg,wParam,lParam invoke RegisterClassEx, ADDR wc invoke CallWindowProc,lpfnbmpProc,hCtl,uMsg,wParam,lParam invoke CallWindowProc,lpBtnProc,hCtl,uMsg,wParam,lParam invoke MessageBox,hWin,ADDR icoMsg1, ADDR szDisplayName,MB_OK invoke MessageBox,hWin,ADDR bmpMsg1, ADDR szDisplayName,MB_OKinvoke CreateWindowEx,WS_EX_LEFT,ADDR szClassName,ADDR szDisplayName,WS_OVERLAPPED or WS_SYSMENU,Wtx,Wty,Wwd,Wht,NULL,NULL,hInst,NULLinvoke CreateWindowEx,0,ADDR icoBtnCl,ADDR blnk1,WS_CHILD or WS_VISIBLE or BS_ICON,a,b,wd,ht,hParent,ID,hInstance,NULL;圖標,位圖,光標,菜單 invoke LoadIcon,hInst,500 invoke LoadIcon,hInstance,2 invoke LoadCursor,0,IDC_ARROW invoke LoadCursor,NULL,IDC_ARROW invoke LoadBitmap,hInstance,10 invoke LoadMenu,hInst,600 ; menu ID invoke SetMenu,hWnd,eax;系統信息和度量 invoke GetSystemMetrics,SM_CXSCREEN invoke GetSystemMetrics,SM_CYSCREEN invoke GetSysColor,COLOR_BTNHIGHLIGHT invoke GetSysColor,COLOR_BTNSHADOW invoke GetSysColor,COLOR_BTNFACE invoke SetMapMode,hDC,MM_ANISOTROPIC;消息 invoke GetMessage,ADDR msg,0,0,0 invoke GetMessage,ADDR msg,NULL,0,0 invoke TranslateMessage,ADDR msg invoke DispatchMessage,ADDR msg invoke SendMessage,hBtn1,BM_SETIMAGE,1,eax invoke SendMessage,hBtn3,BM_SETIMAGE,0,hBmp1 invoke PostQuitMessage,0;設備描述表和畫圖 invoke BeginPaint,hWin,ADDR Ps invoke EndPaint,hWin,ADDR ps invoke GetClientRect,hWin,ADDR rct invoke SetViewportExtEx,hDC,rct.right,rct.bottom,0 invoke SelectObject,hDC,hPen invoke ExtCreatePen,PS_SOLID or PS_GEOMETRIC or PS_ENDCAP_ROUND or PS_JOIN_ROUND,10,ADDR lb,0,0 invoke BeginPath,hDC invoke MoveToEx,hDC,10,25,0 invoke LineTo,hDC,20,75 invoke EndPath,hDCinvoke CreateCompatibleDC,NULL invoke SelectObject,mDC,hBitmap invoke CreateSolidBrush,eax invoke SelectObject,mDC,hBrush invoke GetPixel,mDC,1,1 invoke ExtFloodFill,mDC,1,1,eax,FLOODFILLSURFACE invoke DeleteObject,hBrush invoke DeleteDC,mDC ?六 調用自定義函數
invoke RoundedPath,hDC invoke IconButton,hWin,20,60,36,36,401 invoke SetBmpColor,hBmp1 invoke TopXY,Wwd,eax ?七 標號
start: StartLoop: ExitLoop:總結
以上是生活随笔為你收集整理的Win32 汇编语句模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArcEngine Hittest学习总
- 下一篇: ArcGIS空间分析要点学习