⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlgtemplate.asm

📁 windows汇编语言程序设计 吴中平著 一书所附所有源代码。 该书重点讲解了Windows环境下汇编语言程序设计的基本原理及其实现过程
💻 ASM
字号:
include .\head.inc
DlgProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
.data
TitleName      db "Dialog Template",0
ButtonName   db "Exit",0
FontName      db "Times New Roman",0
.const
ID_EXIT equ  1
.data?
hInstance HINSTANCE ?
.code
start:
   invoke GetModuleHandle,NULL
   mov hInstance,eax
   invoke GlobalAlloc,GMEM_FIXED or GMEM_ZEROINIT,1024*4
   mov esi,eax
   mov edi,eax
   mov dword ptr  [edi],DS_SETFONT or WS_SYSMENU or WS_OVERLAPPED
   mov word ptr    [edi+8],1
   mov word ptr    [edi+10],100 
   mov word ptr    [edi+12],100
   mov word ptr    [edi+14],140
   mov word ptr    [edi+16],80
   add edi,22 
   invoke MultiByteToWideChar,CP_ACP,MB_PRECOMPOSED,addr TitleName,-1,edi,Sizeof TitleName
   mov eax,sizeof TitleName
   shl eax,1
   add edi,eax
   mov word ptr [edi],10
   add edi,2
   invoke MultiByteToWideChar,CP_ACP,MB_PRECOMPOSED,addr FontName,-1,edi,sizeof FontName
   mov eax,Sizeof  FontName
   shl eax,1
   add edi,eax
   add edi,3
   shr edi,2
   shl  edi,2
   mov dword ptr [edi],WS_VISIBLE or WS_CHILD or WS_TABSTOP
   mov word ptr [edi+8],30
   mov word ptr [edi+10],20
   mov word ptr [edi+12],70
   mov word ptr [edi+14],20
   mov word ptr [edi+16],ID_EXIT
   mov word ptr [edi+18],0ffffh
   mov word ptr [edi+20],0080h 
   add edi,22
   invoke MultiByteToWideChar,CP_ACP,MB_PRECOMPOSED,addr ButtonName,-1,edi,sizeof ButtonName
   mov eax,sizeof ButtonName
   shl eax,1
   add edi,eax
   invoke   DialogBoxIndirectParam,hInstance,esi,NULL,DlgProc,NULL
   invoke GlobalFree,esi
   invoke ExitProcess,eax
DlgProc proc hWnd:dword,uMsg:dword,wParam:dword,lParam:dword
   .if uMsg==WM_CLOSE
      invoke EndDialog,hWnd,NULL
   .elseif uMsg==WM_COMMAND
      mov eax,wParam
      .if  ax==ID_EXIT
         invoke EndDialog,hWnd,NULL
      .endif
  .else
     mov eax,FALSE
     ret
  .endif
  mov eax,TRUE
  ret
DlgProc endp
end start


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -