Win32 ASM程序不打印任何命令行

时间:2013-03-20 16:43:53

标签: windows winapi assembly command-line x86

我正在尝试使用Win32 API在汇编中编写一个简单的命令行程序。我编写了以下内容,让它编译并链接零错误或警告,并从命令行启动它,但在命令提示符下没有出现任何内容。任何人都可以看到什么是错的或什么会让它说“Hello World!”在命令行?该计划:

; Block 1
.386
.model flat,stdcall
option casemap:none

; Block 2
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib

; Block 3
.data
szMsg db "Hello World!",0
nNumToWrite dd 12

; Block 4
.data?
numwritten dd ?
CommandLine LPSTR ?

; Block 5
.code
start:
invoke GetCommandLine
mov CommandLine,eax
invoke WriteConsole,CommandLine,addr szMsg,nNumToWrite,numwritten,NULL
xor eax,eax
invoke ExitProcess,eax
end start

1 个答案:

答案 0 :(得分:1)

您是将其作为控制台程序还是GUI程序进行链接?这是Win32中可执行文件的属性。