【问题标题】:How to get file time by name in windows?如何在 Windows 中按名称获取文件时间?
【发布时间】:2010-09-26 03:09:38
【问题描述】:

Windows 有GetFileTime API,允许通过打开文件句柄获取文件时间信息。我想知道的是,是否可以通过文件名获取此信息而无需显式打开文件。如果可能的话,它是否也适用于 Windows Mobile 平台?

【问题讨论】:

    标签: winapi windows-mobile filetime


    【解决方案1】:

    如果您调用 CreateFile 时 dwFileAccess 值为零,则它“specifies device query access to the object. An application can query device attributes without accessing the device.”不知道为什么他们从较新版本的文档中删除了那些真正有用的文本位,因为 FSD 中的实现仍然相同。

    【讨论】:

    • 什么是 FSD?常规的 Win32 CreateFile 文档对零 dwFileAccess 值也有同样的说法。它是从哪个版本的文档中删除的?
    • FSD == 文件系统驱动程序。 CE 6.0 文档删除了注释:msdn.microsoft.com/en-us/library/aa914735.aspx
    • 也许他们删除了文档,因为它可能取决于 FSD 的实施?很棒的信息,CreateFile 是一个如此复杂的 api,很容易错过这样的东西。
    • @Shane:与 CE 中的所有内容一样,OEM 对工作原理拥有最终决定权,所以是的,可以通过这种方式修改 FSD。尽管可以将其修改为甚至不为此打开文件。我的猜测是它被错误地遗漏了(我可能应该花时间修复它)。
    【解决方案2】:

    如果您想坚持使用 Windows API,一种可能性是使用 FindFirstFile。也是available on Windows CE

    【讨论】:

    • 我试过你之前的建议。它有效,但我实际上是在寻找更有效的东西。谢谢。
    【解决方案3】:

    GetFileTime 适用于所有版本的 Windows CE。如果没有 Win32 中的有效文件句柄,您不太可能找到完成此操作的方法。

    【讨论】:

      【解决方案4】:

      关于在 WinCE 文件上使用文件时间的说明:

      引用 WinCE GetFileTime 上的 MSDN 文档

      Windows CE 对象存储返回 三人同时 参数。一般来说,文件系统 司机会改变他们的支持方式 这个函数。

      我发现在我尝试过的所有设备上都是如此。

      【讨论】:

      • 我能够得到不同的值。这种行为可能是特定于设备的。不过感谢您提供的信息。
      猜你喜欢
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-27
      • 1970-01-01
      相关资源
      最近更新 更多