检查非现有文件是否可执行-Win32 C.

时间:2014-03-03 09:24:11

标签: c winapi

我正在尝试检查我要创建的文件是否可执行。

检查将通过给定的文件路径进行,例如:

C:\ good.txt

我想在创建文件之前检查文件是否可执行。

我想使用this函数:

带有SHGFI_USEFILEATTRIBUTES标志的

,但我不能将此标志与SHGFI_EXETYPE标志一起使用。

这意味着我无法在非退出文件上使用SHGFI_EXETYPE标志。

在创建文件之前,有没有其他方法可以检查文件是否可执行?

2 个答案:

答案 0 :(得分:3)

不存在的文件不能是ether可执行文件或不可执行文件。文件(或其他)的可执行性存储在其元数据中,即文件名,权限位,属性或其他。不存在的文件没有这些文件,因此您无法检查其可执行性。

你会注意到你所引用的SHGetFileInfo函数就是这样的文件:

  

检索有关文件系统中对象的信息,例如文件,文件夹,目录或驱动器根目录。

请注意有关它检索文件系统中的对象的信息(而不是“不在文件系统中的对象)。

答案 1 :(得分:2)

不存在的文件不可执行。你问的是一个没有意义的问题。 “这个空玻璃里的水有多热?” - 不存在的东西怎么会有财产?