源代码如下:
.data
SaveFileName db 'D:\\11.txt'
Text db '11111',0
szCaption db 'A MessageBox !',0
szText db 'hello,world!',0
.code
_WriteFile proc _SaveFileName
LOCAL @fh
LOCAL @dwWritten
invoke CreateFile,
offset SaveFileName,
GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN,NULL
mov @fh,eax
.if @fh==INVALID_HANDLE_VALUE
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
.endif
invoke WriteFile,@fh,offset Text,sizeof Text,addr @dwWritten,NULL
invoke CloseHandle,@fh
ret
很简单,就是建立一个'D:\\11.txt'文件,然后将Text写入。但是createfile总是出错,跳到
.if @fh==INVALID_HANDLE_VALUE
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
.endif
代码中,我不清楚哪里不对,请大家帮忙!
------解决方案--------------------------------------------------------
我写了一个函数:
调用的时候可以这样:
invoke _SaveIdFile, addr SaveFileName, addr Text