MERCURY127 addhaloka На MSDN рекомендуют для ХР - 7/2008 брать либу из SDK v7.1, а для Win8 и выше из её SDK. У меня ХР уже с год как нет, и проверить не на чем, потому я ориентировался на рекомендации MSDN.
Что касается того, чтобы положить нужную DLL в каталог, то именно так и делается - нужная DLL просто кладётся в каталог с processhacker.exe и он сам её подхватывает без прописей в настройках (выписка из MSDN):
Цитата: Путь поиска используемый ОС для обнаружения библиотеки DLL
Используя механизмы явного и неявного связывания, Windows сначала выполняет поиск "известных библиотек DLL", таких как Kernel32.dll и User32.dll. Затем Windows выполняет поиск библиотек DLL в следующей последовательности:
1) Каталог, в котором находится исполняемый модуль текущего процесса.
2) Текущий каталог.
3) Системный каталог Windows. Путь к этому каталогу извлекается с помощью функции GetSystemDirectory.
4) Каталог Windows. Путь к этому каталогу извлекается с помощью функции GetWindowsDirectory.
5) Каталоги, указанные в переменной среды PATH.
Примечание
Переменная среды LIBPATH не используется.
и по идее можно было бы реализовать переключение на нужную версию DLL, но для этого в программу надо включить дополнительный код запроса версии DLL, ОС и логику переключения, а сами DLL должны иметь разные имена чтобы исключить ошибки ФС. А это вероятный источник ошибок на этапе разработки и тестирования данного фрагмента кода. А оно кому надо?
P.S. Название выписки пришлось изменить ибо иначе "гениальная" контекстная реклама портит ссылку перенаправляя нас вместо оригинальной статьи на MSDN на страницу рекламы винды.