test.asm

来自「windows下汇编语言 学习汇编语言好助手」· 汇编 代码 · 共 45 行

ASM
45
字号
;**************************
;文件:Test.asm		      *
;功能:测试动态链接库     *
;**************************
.386P
Locals
.Model Flat ,StdCall
include win32.inc
extrn   ExitProcess:PROC
extrn   MessageBoxA:PROC
extrn   LoadLibraryA:PROC
extrn	FreeLibrary:PROC
extrn	GetProcAddress:Proc

.Data
	DllFileName	db '..\DllDemo\DllDemo.dll',0
	ProcName	db 'MsgBox',0
	TextSuc		db '动态链接库安装成功!',0
	TextErr		db '动态链接库链接失败或函数找不到',0
	TextExt		db '退出进程',0
	Caption		db 'Test',0
	TextDll		db '测试DLL',0
	hDll		dd ?
.Code
Main:
	call	LoadLibraryA,offset DllFileName	;把DLL映射入进程空间
	or		eax,eax						;成功否?
	jz		Error	
	mov		hDll,eax
	call	MessageBoxA,0, offset TextSuc,offset Caption,MB_OK
	
	call	GetProcAddress,[hDll],offset ProcName	;取MsgBox的地址
	or		eax,eax
	jz		Error
	call	eax,offset TextDll			;调用MsgBox
	
	call	FreeLibrary,[hDll]			;释放DLL
	jmp		Exit	
Error:	
	call	MessageBoxA,0, offset TextErr,offset Caption,MB_OK
Exit:	
	call	MessageBoxA,0, offset TextExt,offset Caption,MB_OK
	ret		10H
end Main

⌨️ 快捷键说明

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