Наиболее вероятным объяснением является то, что ваша программа является 32-разрядной, а Explorer - 64-разрядной. Когда 32-битная программа открывает файлы в C:\Windows\System32
(который содержит 64-битные DLL), она фактически перенаправляется в C:\Windows\SysWOW64
(который содержит 32-битные DLL). Разница в размере - это разница между файлами C:\Windows\SysWOW64\gdi32.dll
и C:\Windows\System32\gdi32.dll
.
Для получения дополнительной информации см. Статья базы знаний 896456 .