程序需求:编写一个调用Windows API 的程序,演示MessageBoxA的多种不同的组态。
编程思路:MessageBoxA函数是Windows系统提供的API函数,需要引入user32.lib这个库,同时还需要手动声明一下函数原型。MessageBoxA函数中最后一个参数为对话框风格,通过设置这个参数不同值,可以实现显示MessageBoxA的不同组态。具体参数含义可以参考微软官方手册。链接地址:https://docs.microsoft.com/zh-cn/windows/desktop/api/winuser/nf-winuser-messagebox
开发环境
Win10 + VS2017
汇编语言代码实现如下:
INCLUDELIB kernel32.lib
INCLUDELIB user32.lib
.386
.model flat,stdcall
MessageBoxA PROTO,
hwnd:DWORD,
lpText:DWORD,
lpCaption:DWORD,
uType:DWORD
ExitProcess PROTO,
dwExitCode:DWORD
.data
msg byte 'Hello,Assembly Language!',0
.code
main Proc
;push 0h
;push 1h
;push 2h
;push 3h
push 4h
;push 5h
;push 6h
;push 10h
;push 20h
;push 30h
;pus