首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

win32汇编和createfile的有关问题

2012-06-29 
win32汇编和createfile的问题源代码如下:.dataSaveFileName db D:\\11.txtText db 11111,0szCaption d

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

热点排行