使用清单在LoadLibrary中搜索Windows路径

chr*_*isd 3 windows dll manifest side-by-side loadlibrary

如果您在LoadLibrary没有路径的情况下呼叫(例如,LoadLibrary("whatever.dll")Windows通常会遵循其标准搜索算法,那么它将用于查找EXE.

我的问题是:假设应用程序清单指定指定系统DLL的特定版本,例如comctl32.dll 6.0.在这种情况下,将LoadLibrary("comctl32.dll")立即转到正确的并排文件夹,还是仍然执行某种搜索?

Gre*_*her 5

来自微软:

应用程序可以通过指定完整路径,使用DLL重定向或使用清单来控制加载DLL的位置.如果未使用这些方法,系统将在加载时搜索DLL,如本主题中所述.

所以,是的,如果存在清单,它将直接转到SxS文件夹.