📅  最后修改于: 2023-12-03 15:06:16.885000             🧑  作者: Mango
在64位操作系统中,有一些程序员可能会奇怪为什么没有system32文件夹,而是有一个名为syswow64文件夹。
为了兼容32位应用程序,64位 Windows 启动 32 位环境的应用程序时,需要使用一些调用 32 位 DLL 的过渡文件。
在64位 Windows 操作系统中,Microsoft 采取了一种特殊的技术来在操作系统中运行早期32位 Windows 程序所依赖的DLL文件。这项技术被称为 Windows 仿真解决方案。
在 64 位版本的 Windows 操作系统中:
虽然看起来很奇怪,但 SysWOW64 中“WOW”是“Windows-on-Windows”的缩写,表示它是用于 32 位 Windows 应用程序在 64 位 Windows 上运行的 Windows 仿真解决方案。
如果您需要使用正确的文件路径,请始终使用系统变量(如“%SystemRoot%”)而不是固定的文件路径。
string path = Environment.GetFolderPath(Environment.SpecialFolder.System);
$env:SystemRoot
无论是在C#还是PowerShell中,都可以通过使用环境变量来获取正确的文件路径。
总之,在 64 位 Windows 操作系统中,需要使用 SysWOW64 文件夹才能兼容早期的 32 位应用程序。