【问题标题】:twofaced file problem双面文件问题
【发布时间】:2010-06-23 05:18:11
【问题描述】:

我正在我的程序中读取 system32 文件夹中的一些文件;其中一个文件 (C:\Windows\System32\gdi32.dll) 表现出非常奇怪的行为。当我从我的程序中读取它时,它显示的大小为 310'784 字节;当我从资源管理器中查看它的大小时,它显示的大小为 404'480 字节。 怎么可能?

【问题讨论】:

    标签: c++ windows winapi windows-7


    【解决方案1】:

    最可能的解释是您的程序是 32 位的,而 Explorer 是 64 位的。当 32 位程序打开 C:\Windows\System32(包含 64 位 DLL)中的文件时,它实际上被重定向到 C:\Windows\SysWOW64(包含 32 位 DLL)。您看到的大小差异是 C:\Windows\SysWOW64\gdi32.dll 和 C:\Windows\System32\gdi32.dll 文件之间的差异。

    有关详细信息,请参阅KB article 896456。

    【讨论】:

    • 是的,你是对的。但是,我的 x32 文件管理器显示正确的文件大小(与资源管理器相同)。它是怎么做到的?
    • 也许它调用 Wow64DisableWow64FsRedirection (msdn.microsoft.com/en-us/library/aa365743.aspx)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    相关资源
    最近更新 更多