在 Dos 汇编中,psp 段的 0080H 开始的位置就是命令行参数,在 Win32汇编中,我们获得命令行参数的方法是使用 Api - GetCommandLine,它没有输入参数,返回的是指向命令行的指针,返回的字符串中,包含执行文件的文件名。
.386
.MODEL FLAT, STDCALL
option casemap :none ; case sensitive
INCLUDE WINDOWS.INC
INCLUDE KERNEL32.INC
INCLUDE USER32.INC
INCLUDELIB KERNEL32.LIB
INCLUDELIB USER32.LIB
.DATA
SZCAPTION DB '命令行参数测试',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.CODE
START:
INVOKE GETCOMMANDLINE
INVOKE MESSAGEBOX,NULL,EAX,ADDR SZCAPTION,MB_OK
INVOKE EXITPROCESS,NULL
END START