64位系统下 64位应用程序所需DLL在syswow64下 ,为什么程序找不到DLL,放到System32下就能打开程序

2025-03-01 05:46:54
推荐回答(2个)
回答1:

系统是根据系统变量%PATH%里的路径来决定位置

更新环境变量方法:开始->设置->控制面板->系统->高级->环境变量->系统变量

一般情况下,system32是放dll,ocx的位置,同样在系统变量%PATH%里,这个路径是肯定会有的,系统寻找相对文件路径的文件,比如 "abc.dll ",就回在系统变量%PATH%里的所有路径中寻找这个文件,如果找不到,他还会在程序的当前目录下查找,所以你的dll文件必须放在系统变量%PATH%里的某个路径之中,否则你必须用绝对路径!

比如 "C:\sss\abc.dll "这个文件你必须用全路径调用,不能用 "abc.dll "调用。如果系统变量%PATH%里有 "C:\sss ",你就可以直接用 "abc.dll "调用

回答2:

64位系统下, syswow64文件夹是放32位exe,dll的。system32文件夹才是放64位exe,dll的。
别以为syswow64是64位的,system32是32位的。