1

你好我正在windows 7、nasm、alink环境中学习汇编语言

我想知道如何弹出 MessageBoxA 标题为文件名

我尝试的是这里

%include "win32n.inc"

extern MessageBoxA
import MessageBoxA user32.dll
extern ExitProcess
import ExitProcess kernel32.dll
segment .data USE32

message db "is opened",0

empty: 
times 128 db 0

segment .bss USE32

var1 resb 32

segment .code USE32

..start:

mov eax,empty
mov ebx, [ebp+4]
mov [eax],ebx

push dword MB_OK
push dword empty
push dword message
push dword 0
call [MessageBoxA]

push dword 0
call [ExitProcess]

我试过 [ebp+4] 到 [ebp]、[ebp+8]、[ebp+12]

但没有运气。

谢谢!

4

1 回答 1

1

您可以使用GetCommandLine获取可执行文件的路径。Windows 加载程序不会将参数放入堆栈。

于 2012-08-09T05:53:53.180 回答