Что использовать вместо rundll32.exe для запуска 64-битных DLL


В 64-битных версиях ОС семейства Windows присутствуют 2 варианта программы rundll32.exe:

64-битная версия: %WinDir% \System32\rundll32.exe

32- битная версия: %WinDir% \SysWOW64\rundll32.exe

64-битное приложение может использовать 64-битную версию rundll32.exe находящуюся в %WinDir% \System32\ для загрузки 64-битных DLL. Однако 32-битные программы, обращающиеся к %WinDir%\System32\, в целях обеспечения совместимости перенаправляются в %WinDir% \SysWOW64\ и будут таким образом использовать 32-битную версию rundll32.exe.

При наличии необходимости в обращении к директории %WinDir%\System32 из 32-битной программы запущенной в 64-битной Windows, можно воспользоваться виртуальной директорией %windir%\Sysnative для которой не осуществляется перенаправление либо использовать функцию Wow64DisableWow64FsRedirection для отключения системы перенаправления.

Библиографический список



Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

goto PVS-Studio;



Найденные ошибки

Проверено проектов
346
Собрано ошибок
13 188

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;