- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到了一个关于 GetFileSize 和 GetFileSizeEx API 的非常奇怪的问题。
除了来自 System32 目录的文件外,这两个函数都适用于每个输入文件。
例如:
如果我在 calc.exe(在 System32 中)上使用其中一个 API,我将获得 776192 字节的返回值,即使它的实际大小是 918,528 字节!
System32 中的其他可执行文件(Regedit、calcs ..)也会发生这种情况。
GetFileSizeEx的返回值为TRUE,没有报错。
如果我将 calc.exe 复制到不同的目录(比如 C:\),API 会返回正确的字节数。
我猜 System32 目录中的文件是如何压缩的?
或类似的东西,GetFileSize API 返回其压缩大小,而不是实际大小。
有人知道为什么会这样吗?
我运行的是 Windows 7 SP1。
最佳答案
您在 c:\windows\system32
下请求文件,但您可能从 c:\windows\syswow64\
获取文件。
在我的系统上,c:\windows\system32\下的 calc.exe 是 897KB。在 syswow64 下它是 758KB。
在此处阅读有关文件系统重定向器的更多信息:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187(v=vs.85).aspx
关于c - GetFileSizeEx 在 System32 目录上返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22393252/
目前,我正在使用 GetFileSizeEx 来跟踪日志文件在写入之前的大小。我们的空间有限,如果我们尝试创建大于 100 兆字节的文件,我们将停止记录数据。问题是出于某种原因,GetFileSize
我在创建命名共享内存和检查其大小时遇到问题。当我在这样的函数中调用它时,函数 GetFileSizeEx 失败。关于如何调试这个的任何想法? void test_getsize(const cha
我遇到了一个关于 GetFileSize 和 GetFileSizeEx API 的非常奇怪的问题。 除了来自 System32 目录的文件外,这两个函数都适用于每个输入文件。 例如: 如果我在 ca
我不知道如何使用 RTL 之外的任何 API。我一直在使用 SetFilePointer 和 GetFileSize 将物理磁盘读入缓冲区并将其转储到文件中,这样的循环可以完成 2GB 以下闪存卡的工
当我在只读文件上使用我的 Delphi 6 应用程序中的 Windows API 调用 GetFileSizeEx() 时,我收到操作系统错误代码 6(“无效文件句柄”)。如果我从文件中删除只读属性,
我是一名优秀的程序员,十分优秀!