Как запустить файл DLL?
Как установить DLL файлы на Windows?
Файл DLL – компонент динамически подключаемой библиотеки, чьи элементы используют практически все программы. Библиотека DLL файлов расположена в корневой папке системы. Компоненты должны быть все в наличии, иметь цифровую подпись, правильно работать и быть актуальными по версии. Если одно из требований не соблюдено, при запуске программы пользователь получит информационное уведомление: ошибка DLL. Неисправность свидетельствует о том, что отсутствует DLL файл, поврежден или устарел.
Как установить DLL файл
Чтобы программы, приложения и игры снова начали работать, необходимо установить вручную недостающие компоненты библиотеки. Просто поместить файл в папку недостаточно ─ нужно знать как их зарегистрировать.
Помещение и регистрация файлов библиотеки
Перед тем как установить DLL файл на Windows 7,8,10, их нужно скачать, причем точно под разрядность системы.
Давайте определим, какая разрядность у Вашей системы (если вы точно знаете, может пропустить этот шаг)
Шаг 1. Кликаем правой кнопкой мыши по «Мой компьютер» и выбираем «Свойства»
Шаг 2. В открывшемся окне, мы может прочитать свойства компьютера, версию операционной системы и её разрядность 32 (х86) или 64 бит. В нашем случаи стоит 64-разрядная операционная система Windows 10.
·
Шаг 3. После скачивания файлов их нужно поместить в корневую папку, зарегистрировать
для х32 (х86) систем компонент необходимо заменить или поместить в папку C:WindowsSystem32;
для х64 необходимо выполнить замену или переместить в папку C:Windows SysWOW64;
Шаг 4. Файл нужно зарегистрировать в системе.
Сделать это можно, открыв командную строку комбинацией «Win» + «R», или нажать «Пуск» и «Выполнить»;
в открывшемся окне ввести через пробел следующее: regsvr32 имя файла.dll – где, «regsvr32» ─ команда для регистрации, а «имя файла.dll» – полное имя вставленного компонента;
или же можно прописать расположение файла вручную — regsvr32.exe + путь к файлу
Шаг 5. Нажмите «ОК», и перезагрузите компьютер, и новые параметры вступят в силу.
Сразу хочется отметить, что при регистрации возможны появления ошибок. Например: «Не удалось загрузить модуль». Обычно они возникают по 3 причинам
- Не правильно прописан путь к файлу, или файл не был перемещен в каталог System32 или SysWOW64
- Не все файлы DLL вообще нуждаются в регистрации, иногда достаточно просто скопировать их в каталок System32 или SysWOW64 или поместить в корень проблемной игры или программы
- Файлы уже были зарегистрированы ранее
Второй способ регистрации
Шаг 1. Зарегистрировать файл можно с помощью командой строки, которую нужно запустить от имени администратора.
Шаг 2. Пишем команду regsvr32.exe + путь к файлу и жмём «Enter»
Шаг 3. Появится сообщение что «Всё прошло удачно», и просто перезагружаем компьютер
Вот и всё, файл зарегистрирован, можете пробовать запускать вашу игру или программу
А вот, некоторые советы, которые могут вам пригодиться.
- Помещайте элементы только в указанную папку (возможно, она будет скрыта по умолчанию). Вам нужно убрать галочку «Не показывать скрытые папки» в настройках отображения.
- Если при замене файла требуется разрешение администратора – подтвердите действие.
- Выбирайте только актуальные файлы на момент загрузки и сохраните их себе в компьютер отдельно. Вам они могут еще пригодиться. В случае если проблема образуется вновь, вы быстро восстановите работоспособность системы.
Файл формата DLL: чем открыть, описание, особенности
Современные программы состоят из нескольких модулей, которые включают в себя массивы данных, классы.
Современные программы состоят из нескольких модулей, которые включают в себя массивы данных, классы, сервисы, требуемые библиотеки. Такой подход разрешает при переписывании ПО не редактировать полностью код, а изменять только необходимые функции, которые заключены в составных частях. Так как открыть DLL файл стандартными средствами Windows невозможно, приходится использовать другие методы.
Файлы с расширением DLL – что это и для чего нужны
Файлы DLL – это динамически подключаемые библиотеки. Установленная в операционную систему программа может не иметь в своем составе всех нужных для работы данных, а использовать те, которые уже присутствуют в ОС. За счет этого также достигается экономия памяти – работающие программы используют одни и те же DLL.
Если же программа (или библиотека) будет повреждена, то это не скажется на работоспособности остального ПО.
Когда и как появились
Библиотеки DLL появились одновременно с ОС Windows. Разработчики предполагали, что это облегчит программирование приложений и поможет упорядочить использование общих ресурсов в течение сеанса работы.
Но со временем выяснилось, что в ряде случаев возникает тупиковая ситуация, которая получила название «DLL hell». Такое случалось, когда два или более приложений требуют доступа к разным (и не совместимым друг с другом) библиотекам. В результате Windows начинала работать нестабильно.
Только в последних версиях ОС удалось создать механизм, предотвращающий возникновения сбоев – технологию Side-by-side assembly, который испытали в XP, но окончательно он стал применяться в Windows Vista.
При помощи каких программ открываются файлы с расширением .dll
Программный код ОС Windows – проприетарный. Это значит, что разработчики не предусмотрели штатных средств, применяя которые, пользователь сможет менять системный код. Для открытия DLL придется использовать специальные программные пакеты. А подключать имеющиеся DLL к разрабатываемой программе можно с применением ПО Microsoft.
В Windows 10
Пользователи, работающие в десятой версии Windows, не всегда знают, чем открыть DLL. Для подключения библиотеки к проекту понадобится либо Visual Studio, либо VisualFoxPro. Эти программные комплексы доступны для скачивания на официальном портале компании Microsoft. Для редактирования допускается использовать ResourceHacker – утилиту для ознакомления и редактирования различных типов файлов.
Чтобы открыть динамически подключаемую библиотеку, следует нажать в главном меню:
- Пункт «Файл».
- «Открыть».
- Выбрать требуемую библиотеку, воспользовавшись проводником.
- После завершения изменений закрыть файл, сохранив изменения.
Из чего состоит рабочая область программы ResHacker:
- верхняя главная панель – для запуска функциональных команд: открыть, скомпилировать, сохранить;
- левое окно – содержит список объектов, которые входят в состав библиотеки;
- центральная часть – текст программного кода.
В Windows 7
Проблема – чем открыть DLL для редактирования в операционной системе Windows 7 решается так же как и для 10 версии. Еще применяется утилита Resource Tuner – редактор ресурсов. Она дает возможность менять код в DLL на свое усмотрение и сохранять библиотеки.
В онлайн-сервисах
Это понадобится, если речь идет о страницах сайта. В DLL содержатся скрипты, которые отвечают за корректную работу сервера.
Открыть библиотеки можно, используя браузеры:
Как открыть DLL, используя Visual Studio
Программная среда Visual Studio дает возможность создавать, подключать DLL к текущему проекту и редактировать его. Для этого используется синтаксис языка программирования.
Особенности работы с DLL файлами и возможные проблемы
Некоторые DLL не удастся не только изменить, но даже открыть. Это происходит с защищенными библиотеками и проблема не решается без специальных программ для взлома.
Пользователи также сталкиваются с отсутствием библиотек, необходимых для работы некоторых программ. ОС при этом выдает сообщение о том, что «файл не найден». Для устранения неисправности требуется отыскать недостающие DLL с помощью поисковых систем и скачать. Затем – поместить в требуемую папку.
В редких случаях библиотеки DLL придется зарегистрировать в ОС:
- В Windows 7 (и более поздних версиях) войти в каталог, содержащий требуемый файл.
- Нажать «Shift» + правую клавишу мышки.
- В появившемся меню выбрать строчку: «Открыть окно команд».
- Набрать: regsvr32 dllxxxx.dll, где «dllxxxx.dll» – название регистрируемой библиотеки.
- Нажать «Enter».
В качестве итога
Работой с DLL занимаются программисты, но опытным пользователям также полезно будет знать основы работы с динамически подключаемыми библиотеками. Это может пригодиться для изменения или извлечения данных из файлов прикладных программ.
Установка и регистрация библиотек DLL в Windows
Если на компьютере отсутствует или повреждена какая-либо библиотека .dll, связанная с ней программа или служба будет работать некорректно. Windows будет выдавать ошибку, что DLL-файл поврежден или отсутствует. Для решения проблемы нужно скачать требуемую библиотеку для своей версии Windows, скопировать её в нужную папку и зарегистрировать в системе.
Вне зависимости от того, какой программой и для чего используется dll-файл, установка и регистрация библиотеки всегда будет происходить по одному алгоритму. Все версии ОС Windows руководствуются одними правилами при подключении и регистрации динамических библиотек.
Пошаговая инструкция:
Как и куда копировать DLL файл
Ошибки с динамическими библиотеками DLL возникают по разным причинам: файл поврежден, несовместим с Windows или конкретной программой, заражен вирусами или удален. Решение всегда одно: загрузить корректную и полную версию библиотеки, после чего зарегистрировать файл в системе через командную строку. Обычно, весь процесс занимает не более 2-5 минут.
Сюда можно поместить (разархивировать и копировать) любые библиотеки dll, и установленные файлы будут работать:
- Для Windows 95/98/Me — файл копируется в папку C:WindowsSystem
- Для Windows NT/2000 — файл копируется в папку C:WINNTSystem32
- Для Windows XP, Vista, 7, 8 — копировать в папку C:WindowsSystem32
- Для 64-разрядных Windows — копировать dll файл в папку C:WindowsSysWOW64
Где можно загрузить нужную библиотеку:
- Если это игра или программа: с другой сборкой игры, с другого ПК, на котором приложение работает, с диска (переустановить программу).
- Если это системная библиотека, проверьте актуальность драйверов, DirectX или иного компонента, если система пишет, в каком файле или программе допущена ошибка. Копировать dll можно с другого компьютера с аналогичной версией разрядностью и версией Windows (7, 8, 10). Ошибка может вызываться не самой библиотекой, но и программой, её использующей.
- Всегда можно загрузить нужную версию файла с архивов dll вроде dll.ru или ru.dll-files.com. Внимательно проверяйте, для какой версии ОС предназначена библиотека. Также следует внимательно смотреть, что скачивается: вместо нужной библиотеки многие сайты пытаются подсунуть свой платный софт для исправления ошибок с DLL.
- Попробуйте найти статью с решением проблем про нужный файл в разделе DLL, либо воспользуйтесь поиском по сайту.
Возможно, игра или софт несовместим с версией Windows, решением может служить запуск в режиме совместимости. Если файлы блокируются антивирусом, следует внимательнее присмотреться к безопасности приложения или добавить файлы в исключения антивируса.
Все изменения вступят в силу после регистрации библиотеки в системе и перезагрузки компьютера. До этого пытаться запустить что-либо бесполезно — система не подключится к файлу.
Для проверки разрядности системы нужно нажать правой кнопкой мыши на иконке «Мой компьютер» и выбрать пункт «Свойства». В открывшейся папке в разделе Система будет написано: «Тип системы: 64-разрядная операционная система, процессор x64».
Регистрация библиотеки в Windows
Проще всего зарегистрировать библиотеку DLL в Windows через командную строку или окно «Выполнить». Для открытия командной строки нужно: нажать Пуск -> Выполнить или комбинацию клавиш Win+R, ввести cmd.exe и нажать Enter. Можно ввести команду прямо в это поле, не открывая командной строки.
Для регистрации библиотеки нужно написать команду regsvr32 имяфайла.dll и нажать Enter. К примеру, regsvr32.exe msvcp110.dll.
Для того, чтобы изменения вступили в силу и библиотека начала работать, необходимо перезагрузить компьютер. Если Windows не хочет находить требуемый файл, можно указать полный путь: regsvr32.exe полный_путь_к_файлу.dll, например regsvr32.exe C:/Windows/System32/msvcp110.dll.
Как установить DLL файл на Windows и зарегистрировать?
Уже много было статей на тему ошибок, связанных с библиотеками DLL. Ошибки эти все исправляются единственным способом – установкой этого самого dll-файла на компьютер. В данной статье я напишу, как это сделать.
Скачивание и установка DLL-файлов
При появлении какой-то ошибки обычно указывается название DLL-файла, которого не хватает. Вам нужно ввести название этого файла в поисковике и скачать. Например, нам нужно скачать файл d3dx9_27.dll. Мы вводим это название в Яндексе или Google и скачиваем с какого-нибудь сайта. Наиболее безопасный и популярный сайт, с которого я сам скачиваю DLL-файлы – DLL-FILES.com. Там есть поле, в которое можно ввести название файла.
Теперь нужно разобраться, куда кидать этот файл dll. В разных системах местоположение этих файлов разное, поэтому я начну с ранних ОС:
- Windows 95/98 – помещаем файл в папку C:WindowsSystem;
- Windows NT или 2000 – помещаем файл в папку C:WINNTSystem32;
- Windows XP, 7, 8, 10 – помещаем файл в папку (для 32-х битных систем в C:WindowsSystem32, а для 64-х битных в C:WindowsSysWOW64).
Иногда при попытке поместить файл в нужную папку может появится сообщение, что файл там уже есть. Тогда почему появляется ошибка? Возможно, что файл поврежден, либо это какой-то вирус, поэтому вы можете заменить его новым файлом.
Как только вы перекинули все отсутствующие библиотеки необходимо перезагрузить компьютер, чтобы изменения вступили в силу, а потом запустить те приложения, которые не работали.
А что делать, если вы закинули все нужные файлы в папку, но программа или игра по-прежнему не запускается? Тогда можно попробовать зарегистрировать библиотеку в системе, сейчас покажу, как это сделать.
Как зарегистрировать DLL в Windows
Регистрация библиотек DLL в Windows происходит очень просто и быстро. Вы можете это сделать, если у вас стоит Windows 7, 8 или 10. Еще хочу отметить, что у вас должны быть права администратора. В данном пункте я покажу 3 способа регистрации динамических библиотек.
Первый способ
Он самый популярный и используемый пользователями.
Открываем окно «Выполнить», с помощью клавиш Win+R и вводим туда команду regsvr32.exe название_файла.
Другими словами, команда может выглядеть так (покажу на примере файла d3dx9_27.dll):
Если способ не сработал, то нужно указать полный путь к этому файлу, то есть путь до папки, куда вы поместили DLL. Например, это может выглядеть так:
При удачной регистрации вы должны увидеть положительный ответ, либо сообщение об ошибке, что модуль загружен… Но об это я скажу чуть позже.
Второй способ
Тут мы воспользуемся командной строкой, но открыть ее нужно от имени администратора, надеюсь вы знаете, как это сделать.
Далее, нужно ввести похожую команду:
То есть мы выполняем все тоже самое, только в командной строке.
Должно снова появиться сообщение, что библиотека зарегистрирована, либо ошибка.
Третий способ
Метод редко кем используемый, но тоже рабочий. Берете свой dll-файл и нажимаете на нем правой кнопкой мыши, в появившемся контекстном меню выбираете пункт «Открыть с помощью» и идете в папку Windows/System32, и ищете там программу regsvr32.exe, через которую и будем открывать библиотеку.
Ошибка при регистрации DLL-файлов
Когда вы пытаетесь зарегистрировать DLL, причем, не важно каким способом, то вы можете получить ошибку, что модуль такого-то DLL несовместим с версией Windows, либо загружен. Что делать?
Такие ошибки могут возникать по следующим причинам:
- Библиотеку не нужно регистрировать, потому что она не поддерживает эту функцию, либо она уже зарегистрирована в системе;
- Скачанный вами файл битый, либо совершенно не относящийся к библиотекам.
Как решить проблему?
- Опытные пользователи могут использовать regasm.exe;
- Попробуйте в интернете скачать этот же файл, только из другого источника. Либо посмотрите, что это за файл и воспользуйтесь специальными установщиками DLL-файлов. Некоторые библиотеки поставляются с каким-либо программным обеспечением, например, DirectX.
- При скачивании какого-то приложения антивирус мог удалить в процессе установки важные DLL-библиотеки, которые были в установщике, поэтому нужно скачать игру с другого источника, либо временно отключить антивирус, и переустановить приложение.
На этом я закончу описывать установку DLL-библиотек и впредь постараюсь как можно реже к этой теме возвращаться. Если все же возникли какие-то вопросы, то я постараюсь на них ответить в комментариях.
RunDll32 — вызов функций библиотек DLL
Все мы прекрасно знаем, что в операционной системе Windows существуют функции/процедуры, размещаемые внутри динамических библиотек (DLL). Эта особенность является одним из основных отличительных черт современных операционных систем, и Windows тут не исключение.
Но у библиотек имеется одна характерная особенность: они не запускаются через привычные пользователям механизмы, применимые к исполняемым образам .exe (например, запуск двойным щелчком из проводника), вместо этого процедуры/функции/ресурсы библиотеки доступны для использования исключительно из кода приложений. Одним словом просто так вот щелкнуть в проводнике по .DLL-файлу и запустить его не получится. И все же, у специалиста/пользователя время от времени возникает необходимость воспользоваться функциями той или иной библиотеки, в этом случае имеется два основных пути:
- Написать собственное приложение, которое будет использовать требуемые функции [той или иной библиотеки];
- Воспользоваться специализированным средством (утилитой) командной строки rundll32.exe;
Очевидно, что в рамках данной заметки нам интересен именно второй подход. Для его реализации разработчики из MS создали своеобразный «стартер», который вызывает код [заданной] функции (процедуры), размещаемой в одной из доступных в системе библиотек, прямо из командной строки. Идея была реализована Microsoft в виде утилиты под названием rundll32.exe.
RunDll32 — [системная] утилита командной строки, разработанная для загрузки и запуска функций из 32/64-битных библиотек DLL. Тем не менее, ошибочно было бы считать, что утилита rundll32 является средством для «запуска DLL» по аналогии с исполняемым приложением, в действительности же невозможно «запустить DLL», поскольку это не исполняемый образ в классическом понимании (вроде .EXE-образов).
Теоретически rundll32 может использоваться для запуска функций из любых типов файлов, по структуре идентичных с библиотеками DLL: элементов ActiveX (* .ocx ), апплетов панели управления (* .cpl ), драйверов (* .drv ). Бытует мнение, что когда-то функциональные особенности rundll32 были неявными, то есть «скрытыми» от пользователя системы, но при этом самой системой активно эксплуатирующимися. Не совсем понятное утверждение, поскольку у разработчиков никогда и не существовало проблем в том, чтобы набросать алгоритм запуска произвольных функций библиотек и выделить его в отдельный функционал, к тому же в Windows это основа основ. Со временем утилита rundll32 превратилась в достаточно продвинутое средство, и в определенный момент, по причине того, что программа предоставляла возможности общего характера, разработчики решили включить её в базовый комплект ОС в виде отдельной утилиты. В состав Microsoft Windows 95, Windows 98 и Windows Millennium входили программы rundll.exe и rundll32.exe , а в операционных системах Microsoft Windows NT 4.0, Windows 2000 и Windows XP, в сборку была включена единственная утилита с именем rundll32.exe .
Причина подобного отношения кроется в многочисленных проблемах, связанных с использованием rundll32 в своих программных окружениях. Как же без rundll32, спросите Вы? Оказывается, Microsoft активно внедряет специализированные системные утилиты, которые постепенно заменяют функционал полюбившегося многим программного средства. Поэтому, время от времени в процессах Windows 7 можно таки встретить процесс rundll32 , однако встречается подобное явление всё реже и реже.
Алгоритм работы rundll32
В общем то, тут нет никакой революции, поскольку rundll32 представляет собой классическое приложение, выполняющее динамическое связывание функций библиотеки DLL на этапе выполнения. В общих чертах алгоритм работы rundll32 можно описать следующим образом:
- Вызывается функция LoadLibrary , которая загружает выбранную DLL;
- Вызывается функция GetProcAddress , для получения адреса точки входа вызываемой из библиотеки функции;
- Вызывается проверка соответствия функции специфическим требованиям;
- Вызывается сама функция и ей передаются входные параметры;
- Происходит выход из функции по завершению её работы;
- Библиотека DLL выгружается из памяти процесса.
Как увидеть полный путь запуска rundll32
Если в системе ни с того ни с сего вдруг удалось обнаружить запущенный процесс rundll32 , и вам стало интересно, а какой же, собственно, функционал утилита выполняет, то можно определить это по полному пути запуска утилиты rundll32 . Посмотреть полный путь запуска, то есть параметры командной строки можно при помощи системной утилиты Диспетчер задач Windows (Task Manager).
Вызовите «Диспетчер задач» ( Ctrl + Shift + Esc ), перейдите в меню «Вид», выберите пункт «Выбрать столбцы..» и пролистав список вниз, найдите пункт «Командная строка» и отметьте его чекбокс, затем нажмите ОК . Результатом будет появление в главном окне диспетчера задач в параметре «командная строка» полной строки запуска rundll32.
32-битные и 64-битные версии программы
В 64-битных версиях ОС семейства Windows присутствуют 2 варианта программы rundll32.exe :
- 64-битная версия, расположенная в %SystemRoot%System32 ;
- 32-битная версия, расположенная в %SystemRoot%SysWOW64 .
В 64-битной ОС, для загрузки 64-битной библиотеки DLL может быть использована 64-битная версия rundll32.exe , находящаяся в директории %SystemRoot%System32 . Напротив, 32-битные программы в 64-битной ОС, обращающиеся к %SystemRoot%System32 , в целях обеспечения совместимости будут перенаправлены в %SystemRoot%SysWOW64 и, соответственно, будут использовать уже 32-битную версию rundll32.exe .
Пример использования rundll32
Для запуска программы rundll32 используется синтаксис командной строки следующего вида:
В качестве примера предлагаю разобрать команду запуска апплета «Язык и региональные стандарты» панели управления, вкладка «Форматы»:
rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0
При выполнении данной команды утилита rundll32 вызовет функцию Control_RunDLL , находящуюся в библиотеке shell32.dll , и передаст ей следующие параметры:
Параметр | Описание |
---|---|
hWnd | Идентификатор (дескриптор) родительского окна, который обычно используется при создании окон в функциях загружаемой библиотеки DLL. |
hInstance | Дескриптор (заголовок экземпляра) выбранной библиотеки DLL. Иначе, стартовый адрес процесса DLL в адресном пространстве. В нашем случае — библиотеки shell32.dll . |
lpCmdLine | Командная строка, передаваемая библиотеке. То есть параметры, передаваемые самой библиотеке. В нашем случае intl.cpl,,0 ; |
nCmdShow | Режим отображения окон выбранной библиотеки. (данные, передаваемые функции CreateProcess ). |
Теперь давайте отметим и некоторые требования к синтаксису rundll32 :
- Параметр, описывающий точку входа вызываемой функции (метка EntryPoint ) чувствителен к регистру. Это означает, что значение Control_RunDLL не тоже самое что control_rundll . Довольно часто неправильное указание регистра символов вызываемой функции приводит к ошибкам отказа в обнаружении последних.
- Функция (в приведенном выше примере — функция Control_RunDLL ) должна самостоятельно выполнять анализ командной строки и идентифицировать отдельные ее аргументы.
- Утилиты rundll / rundll32 ищут указанную библиотеку DLL в стандартных местоположениях.
В нашем примере библиотека shell32.dll располагается по известному в переменной %PATH% пути, поэтому мы и указываем её в сокращенном виде. Чтобы быть уверенным, что будет загружена именно интересующая нас библиотека DLL, рекомендуется конкретизировать полный путь к файлу библиотеки. В противном случае может возникнуть ситуация, когда в системе может присутствовать одноименная библиотека, находящаяся в стандартном местоположении (например, по путям, определяемым %PATH% ), а та, которую хотите использовать Вы, находится по неизвестному системе пути, в этом случае утилитой rundll32 будет вызвана первая библиотека.
Ранее, во времена Windows 95/98, к синтаксису командной строки утилиты rundll32 применялись достаточно жесткие требования. Например, чрезвычайно важным являлось наличие запятой («,») между параметром и именем вызываемой функции. Если запятая опускалась, утилита rundll32 «по-тихому» завершала работу, не выполняя никаких действий с библиотекой. Кроме того, между параметром , символом запятой и названием вызываемой функции не должно было быть никаких пробелов. Но, со временем анализатор командной строки утилиты претерпевал изменения и эволюционировал, и в данный момент, синтаксис rundll32 позволяет применять пробел между именем библиотеки и именем функции.
Правила создания функций
Очевидно, что в создаваемую нами собственную библиотеку DLL необходимо поместить функцию со следующими входными параметрами (пример описания на Ассемблере):
При создании экспортируемой функции (в примерах выше она имеет псевдо-имя EntryPoint) необходимо учитывать следующие моменты:
- Вместо имени EntryPoint , желательно указать фактическое имя функции. Обратите внимание, что «точка входа», используемая программой rundll32, не зависит от функции (точки входа) DllEntryPoint , которая в 32-разрядных библиотеках DLL осуществляет обработку процессов и оповещение о подключении и отключении потоков. Это точка входа в саму функцию.
- Функцию, являющуюся точкой входа для программы rundll32, необходимо определить, используя соглашение о вызовах _stdcall (в C++ по умолчанию для атрибута _stdcall используется значение CALLBACK). Иначе, по умолчанию будет использоваться другое соглашение о вызовах _cdecl . Это приведет к аварийному завершению работы программы rundll32 после вызова данной функции.
Функции, являющейся точкой входа, передаются следующие параметры:
Открываем DLL-файлы для редактирования
DLL-библиотеки – это одна из разновидностей исполняемого файла, который может многократно использоваться каким-либо приложением или компонентом Windows. Благодаря этому происходит экономия дискового пространства, так как для каждого приложения не нужен отдельный файл с одинаковыми параметрами. Иногда у пользователя может возникнуть необходимость просмотреть содержимое DLL-файла или даже отредактировать его.
- Как открыть DLL-файл для редактирования
- Программа 1: Блокнот
- Программа 2: Sublime Text 3
- Программа 3: Hex Workshop
- Программа 4: Resource Hacker
- Программа 5: Среда разработки Embarcadero RAD Studio
Как открыть DLL-файл для редактирования
DLL-файл ничем не отличается от любого другого файла с кодом, следовательно, может быть открыт с помощью специальных программ для просмотра или редактирования, в том числе и с помощью встроенного в Windows Блокнота. Однако мы бы рекомендовали вам использовать для редактирования более профессиональные программы, которые поддерживают подсветку синтаксиса кода и автоматическое исправление.
Редактируя DLL-файл не забывайте, что любое неверное изменение может привести к потери работоспособности некоторых программ, а иногда и все операционной системы. Действуйте на свой страх и риск. Далее рассмотрим несколько программ, с помощью которых можно выполнить редактирование DLL-файлов.
Программа 1: Блокнот
Самый примитивный вариант. Блокнот встроен по умолчанию во все операционные системы Windows. С его помощью можно открывать и редактировать практически любые файлы. К сожалению, функциональность здесь оставляет желать лучшего: нет подсветки, выделения ошибок, автоматического исправления и многих других интересных функций. Мы бы рекомендовали использовать его только для просмотра содержимого DLL-файла или внесения мелких корректировок.
Инструкция по редактированию DLL-файла с помощью программы Блокнот выглядит следующим образом:
- Перейдите в директорию, где находится нужный вам DLL-файл. Кликните по нему правой кнопкой мыши.
- Из контекстного меню выберите «Открыть с помощью». По умолчанию операционная система сама предложит вам открыть данный файл с помощью Блокнота. Выберите этот вариант.
После сохранения обязательно проверьте работоспособность файла.
Программа 2: Sublime Text 3
Данная программа уже нацелена именно на работу с исходным кодом файлов. Там есть подсветка кода, автоматическое определение и исправление ошибок. Плюс, функционал можно расширить за счет скачивания дополнительных плагинов. Официально Sublime Text 3 распространяется на платной основе, но вы можете пользоваться им бесплатно, но тогда каждые 30 минут будет появляться сообщение о необходимости купить полную версию.
Sublime Text 3 создавался в первую очередь для веб-разработчиков и смежных профессий, поэтому в DLL-файлах подсветки синтаксиса и автоматического исправления ошибок может не быть. Единственным удобством останется нумерация строк, благодаря чему будет удобно ориентироваться в документе.
Инструкция по открытию и обработке файлов в редакторе Sublime Text 3 выглядит следующим образом:
-
Откройте программу. В верхнем меню воспользуйтесь кнопкой «File» и выберите из выпавшего списка вариант «Open File» или просто используйте сочетание клавиш Ctrl+O.
Программа 3: Hex Workshop
Более профессиональное ПО, предназначенное именно для работы с исполнительными файлами, в том числе и с расширением DLL. Подходит в основном очень продвинутым пользователям, так как отображает код файла по умолчанию в бинарном виде, но вы можете переключиться на другой вариант отображения. Плюс, в программе можно выполнить компиляцию полученного кода, чтобы сразу же проверить его на наличие ошибок.
Инструкция по работе с Hex Workshop выглядит следующим образом:
-
Запустите программу. Там, в верхнем меню, нужно воспользоваться иконкой в виде папки с зеленой стрелкой. Она отвечает за выбор файла для открытия. Аналогичные действия выполняет и комбинация клавиш Ctrl+O.
Программа 4: Resource Hacker
Это одна из самых популярных, удобных и продвинутых программа для редактирования содержимого исполняемых файлов. Здесь вы можете запускать их, изменять и снова запуска для отладки. В случае появления распространенных ошибок программа сама предложит варианты их решения. Ее преимущество над другими решениями заключается в грамотной структуризации и правильном отображении иерархии составляющих файла с отображением бинарного и привычного исходного кода.
Инструкция по работе с Resource Hacker для DLL-файлов выглядит следующим образом:
- Скачайте и установите программу к себе на компьютер. Запустите ее.
- Для открытия файла на компьютере воспользуйтесь иконкой в виде папки с зеленой стрелкой, что расположена в верхнем меню интерфейса программы.
- Если вам нужно просто сохранить изменения в том же DLL-файле, то воспользуйтесь сочетанием клавиш Ctrl+S или нажмите «File» и далее «Save».
- Если требуется перевести данный файл в другое расширение или создать просто другой DLL-файл на основе внесенных изменений, то в верхнем меню выберите пункт «Action» и там укажите, в каком виде вам нужно сохранить полученный файл.
Программа 5: Среда разработки Embarcadero RAD Studio
Данный вариант в большей степени следует рассматривать профессиональным программистам, так как Embarcadero RAD Studio это уже профессиональная среда разработки. Помимо встроенного редактора здесь есть множество полезных инструментов, но при этом и сама программа занимает места больше и потребляет ресурсов компьютера больше, чем представленные выше варианты.
Давайте рассмотрим, как работать с файлами DLL с помощью программы Embarcadero RAD Studio:
- Выполните запуск среды разработки. В верхнем меню кликните по кнопке «File». Из выпавшего списка выберите вариант «Open». В нашем случае мы открываем именно один файл. Если же у вас есть проект с несколькими файлами и папками, где присутствуют DLL-файлы, то выбирайте вариант «Open Project».
- В «Проводнике» Windows укажите файл, который вам нужно открыть. Если вы нажали просто «Open», то выделяйте один DLL-файл, если же открываете проект, то вам требуется выделить папку с проектом. Для подтверждения открытия нажмите кнопку «Открыть».
- В рабочей области программы появится иерархия всех составляющих файла. В случае с проектом она будет более обширной и содержать только файлы без иерархии. Справа отобразятся различные атрибуты, например, название элемента, место его хранения, вспомогательное описание и исходный код. Представленные элементы доступны для внесения в них изменений.
- Некоторые файлы сразу же открываются программой только в бинарном виде. Это зависит уже от настроек самого файла. При необходимости вы можете переключить вид с обычного кода на бинарный и наоборот.
- После внесения изменений не забудьте сохранить файл или проект. Для этого нажмите по кнопке в виде дискеты в верхнем меню или воспользуйтесь сочетанием клавиш Ctrl+S.
Мы рассмотрели 5 программ, с помощью которых вы можете не только открыть DLL-файл для просмотра, но и выполнить его редактирование. В последнем случае мы рекомендуем выбирать более профессиональное ПО, а также создать копии DLL-файлов, чтобы в случае неудачи вы смогли снова вернуться к работоспособному элементу.