读书人

win32汇编和createfile的有关问题

发布时间: 2012-06-29 15:48:47 作者: rapoo

win32汇编和createfile的问题
源代码如下:
.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

读书人网 >汇编语言

热点推荐