加载了哪个oleaut32.dll文件

时间:2014-01-21 09:43:24

标签: windows vb6

在Windows 7 64位上,我一方面有一个visual basic 6标准exe(没有activex exe) 另一方面,我有两个oleaut32.dlls,一个在c:\ windows \ system32,另一个在c:\ windows \ syswow64。
它们有不同的尺寸 我怎么说(也许是哪个注册表项),什么oleaut32.dll将被加载为vb6 exe? 非常感谢提前 沃尔夫冈

1 个答案:

答案 0 :(得分:3)

64位版本的Windows上存在c:\ windows \ syswow64目录中的文件。此目录的内容是32位安装的Windows正常附带的所有32位DLL。在64位Windows上运行32位进程时,系统将从c:\ windows \ syswow64目录加载32位DLL。否则对于本机64位进程,c:\ windows \ system32。 (是的,考虑到这些目录的名称,这让人感到困惑。名为“System32”的目录有64位DLL。名为SysWow64的目录是针对32位DLL的。)

简而言之,系统二进制文件(包括oleaut32.dll)是从c:\ windows \ syswow64加载的,是为您的旧版VB应用程序加载的(这是一个32位进程)。

此处有更多信息:http://en.wikipedia.org/wiki/WoW64