Я работаю внутри процесса, где COMCTL32.DLL
загружается дважды, один раз с версией 5.82.7601.17514 и один раз с версией 6.10.7601.17514.Устаревшая версия загружается некоторой устаревшей DLL, с которой связана программа, а другая версия загружается более новой DLL.
Если я использую GetModuleHandle (L"COMCTL32.DLL")
, у меня нет контроля над DLL, которая разрешается.
Когда я вызываю GetProcAddress
для достижения, например, TaskDialogIndirect
, я получаю нулевой указатель обратно, что, безусловно, потому, что я вернул дескриптор устаревшей DLL.
Итак,есть ли какие-то способы добраться до адреса, скажем TaskDialogIndirect
, когда обе DLL загружены.
Если нет, могу ли я как-то убедиться, что процесс загружает версию 6.10, а не 5.82, в надеждечто наша старая DLL будет нормально работать с новой версией COMCTL32
?