在 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