AlbertoPL Asked: 2009-07-10 16:22:47 +0800 CST2009-07-10 16:22:47 +0800 CST 2009-07-10 16:22:47 +0800 CST System32 中的 Dll 与系统路径 772 在 Windows 中,Windows 如何通过这些文件夹查找 .dll 的偏好是什么?例如,如果我有同一个 dll 的两个版本,一个在 System 32 文件夹中,一个在 System Path 中,那么 Windows 会首先出现在哪里? windows systempath 4 个回答 Voted Jim B 2009-07-10T17:49:05+08:002009-07-10T17:49:05+08:00 Windows 首先搜索“已知 DLL”,例如 Kernel32.dll 和 User32.dll。 然后 Windows 按以下顺序搜索 DLL: Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。 Windows 目录。GetWindowsDirectory 函数检索此目录的路径。 当前进程的可执行模块所在的目录。 当前目录。 PATH 环境变量中列出的目录。 请注意,在 64 位 Windows 下,32 位进程使用 32 位 system32 目录,而不是 64 位目录。 它与 2k3 或 XP 的 pre sp1 略有不同。 chickeninabiscuit 2009-07-10T16:34:56+08:002009-07-10T16:34:56+08:00 试试这个: http://msdn.microsoft.com/en-us/library/7d83bc18(VS.80).aspx 请注意“订单已更改!” 引用此页面的评论: http://msdn.microsoft.com/en-us/library/ms972822.aspx devstuff 2009-07-10T16:35:56+08:002009-07-10T16:35:56+08:00 取决于您的PATH环境变量,但通常%windir%\System32在%windir%. 戴上我的开发者帽子:我会尽可能避免将任何东西安装到这些文件夹中的任何一个,尤其是对于最近支持并排组装的操作系统版本(例如 XP/Vista/2008)。 如果您安装的应用程序在两个地方都放置了 .DLL,那么我会联系开发人员进行修复。 Maximus Minimus 2009-07-11T05:02:24+08:002009-07-11T05:02:24+08:00 DLL 加载由 Windows API LoadLibrary 函数处理,搜索顺序在文档中描述:http: //msdn.microsoft.com/en-us/library/ms684175 (VS.85).aspx
Windows 首先搜索“已知 DLL”,例如 Kernel32.dll 和 User32.dll。
然后 Windows 按以下顺序搜索 DLL:
Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
当前进程的可执行模块所在的目录。
当前目录。
PATH 环境变量中列出的目录。
请注意,在 64 位 Windows 下,32 位进程使用 32 位 system32 目录,而不是 64 位目录。
它与 2k3 或 XP 的 pre sp1 略有不同。
试试这个:
http://msdn.microsoft.com/en-us/library/7d83bc18(VS.80).aspx
请注意“订单已更改!” 引用此页面的评论:
http://msdn.microsoft.com/en-us/library/ms972822.aspx
取决于您的
PATH
环境变量,但通常%windir%\System32
在%windir%
.戴上我的开发者帽子:我会尽可能避免将任何东西安装到这些文件夹中的任何一个,尤其是对于最近支持并排组装的操作系统版本(例如 XP/Vista/2008)。
如果您安装的应用程序在两个地方都放置了 .DLL,那么我会联系开发人员进行修复。
DLL 加载由 Windows API LoadLibrary 函数处理,搜索顺序在文档中描述:http: //msdn.microsoft.com/en-us/library/ms684175 (VS.85).aspx