当前位置: 代码迷 >> 汇编语言 >> win32汇编和createfile的有关问题
  详细解决方案

win32汇编和createfile的有关问题

热度:10162   发布时间:2013-02-26 00:00:00.0
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
  相关解决方案