winapi - FASM - 如果文件存在 - 使用 GetFileAttributes - INVALID_FILE_ATTRIBUTES 值?

标签 winapi assembly file-exists fasm

我在 FASM 中使用 GetFileAttributesA 来确定文件是否存在。我知道如果文件不存在,返回值将为 INVALID_FILE_ATTRIBUTES,但我不确定如何检查此值。

我的代码:

invoke GetFileAttributes,lpFileName
cmp    eax,IDK WHAT TO CHECK FOR
je     notfound
jne    found
invoke ExitProcess,0

由于编译器无法将 INVALID_FILE_ATTRIBUTES 识别为值:

cmp    eax,INVALID_FILE_ATTRIBUTES

不会工作。

有谁知道这个常量的值,以便我可以简单地手动输入它?

感谢任何帮助。谢谢


在 Jens Björnhager 的回复之后,以下是任何其他感兴趣的人的工作代码:

invoke GetFileAttributes,lpFileName
cmp    eax,-1
je     notfound
jne    found
invoke ExitProcess,0 

甚至:

invoke GetFileAttributes,lpFileName
cmp    eax,$ffffffff
je     notfound
jne    found
invoke ExitProcess,0 

再次感谢 Jens Björnhager!

最佳答案

INVALID_FILE_ATTRIBUTES 定义为 -1 ($ffffffff),因此请检查一下。

关于winapi - FASM - 如果文件存在 - 使用 GetFileAttributes - INVALID_FILE_ATTRIBUTES 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12594403/

相关文章:

c# - SSIS脚本任务检查文件是否存在于文件夹中

c - GDI泄漏问题

c - char * 的大小是否与 int * 的大小相同?

java - 如何在 JVM 中查看 JIT 编译的代码?

android - File.exists() 对现有文件返回 false

java - 如何修改 File 对象的 .isFile() 或 .exists() 方法检查所述文件的位置?

c++ - 试图解决有关 SECURITY_FLAG_STRENGTH_* 标志的歧义

c++ - Windows下的串口编程

c++ - 使用 C++ 在 FireFox 中获取事件选项卡 URL

c - 在函数中使用指针的临时值