mydll.asm

来自「windows汇编语言程序设计 吴中平著 一书所附所有源代码。 该书重点讲解」· 汇编 代码 · 共 32 行

ASM
32
字号
include .\head.inc
.data
AppName db "DLL For Test",0
LoadMsg db "The DLL is loaded",0
UnloadMsg db "The DLL is unloaded",0
ThreadCreated db "A thread is created in this process",0
ThreadDestroyed db "A thread is destroyed in this process",0
.code
DllEntry proc hInstance:HINSTANCE, reason:DWORD, reserved1:DWORD
   .if reason==DLL_PROCESS_ATTACH
      invoke MessageBox,NULL,addr LoadMsg,addr AppName,MB_OK
   .elseif reason==DLL_PROCESS_DETACH
      invoke MessageBox,NULL,addr UnloadMsg,addr AppName,MB_OK
   .elseif reason==DLL_THREAD_ATTACH
      invoke MessageBox,NULL,addr ThreadCreated,addr AppName,MB_OK
   .elseif reason==DLL_THREAD_DETACH
      invoke MessageBox,NULL,addr ThreadDestroyed,addr AppName,MB_OK
   .endif
   mov  eax,TRUE
   ret
DllEntry Endp

MyFunction proc
   jmp ExeCode
   HelloMsg db "Call Function From MyDLL",0
ExeCode:
   invoke MessageBox,NULL,addr HelloMsg,addr AppName,MB_OK
   ret	
MyFunction endp

End DllEntry

⌨️ 快捷键说明

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