首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MASM32 CreateFile

MASM32 CreateFile
EN

Stack Overflow用户
提问于 2014-03-02 07:01:42
回答 2查看 3.1K关注 0票数 0

我尝试在MASM32中通过CreateFile打开文件,但在打开合法文件时出现INVALID_HANDLE_VALUE。

代码语言:javascript
运行
复制
.386 
.model flat,stdcall 
option casemap:none 
include \masm32\include\windows.inc 
include \masm32\include\user32.inc 
includelib \masm32\lib\user32.lib
include \masm32\include\kernel32.inc 
includelib \masm32\lib\kernel32.lib

.DATA
FileName db "C:\Users\machine\Desktop\putty.exe",NULL
BadText db "Its not ok",0
OkText db "Its ok",0
.DATA?
hFile HANDLE ?

.CODE
start: 
    invoke CreateFile,addr FileName,GENERIC_READ OR GENERIC_WRITE,FILE_SHARE_READ OR FILE_SHARE_WRITE, NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
    mov hFile,eax
    cmp hFile, INVALID_HANDLE_VALUE
    jz code1
    invoke MessageBox,NULL,addr OkText,addr OkText,MB_OK
    invoke ExitProcess,0



code1:
    invoke MessageBox,NULL,addr BadText,addr BadText,MB_OK
    invoke ExitProcess,0
    ret

end start

我尝试\而不是\,用NULL代替0,但都不起作用。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2014-03-03 02:58:53

您的代码没有任何问题,它可以正常工作。问题一定是与目标文件有关。无论是权限问题还是其他问题,我都不知道。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-12-16 05:40:24

代码语言:javascript
运行
复制
invoke CreateFile, addr FileName, GENERIC_WRITE, FILE_SHARE_WRITE or FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22121558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档