"Получение файлов драйверов для конкретного устройства: альтернатива Диспетчеру устройств"Delphi , ОС и Железо , ДрайвераВ статье рассматривается проблема получения файлов драйверов для конкретного устройства, аналогично тому, как это делает Диспетчер устройств. Описывается код на Object Pascal (Delphi), который не дает желаемого результата, и альтернативный ответ, который предлагает решение путем парсинга файлов INF. Подтвержденный ответ: нет API для получения файлов драйверов, поэтому нужно парсить файлы INF. Приводится быстрый и грязный вариант решения для тех, кто заинтересован. В статье также приводятся примеры кода на Object Pascal (Delphi) для чтения файлов INF, поиска секций и значений в них, а также для чтения файлов из списка путей. Пример кода для чтения файлов INF и поиска секций и значений в них:
Пример кода для чтения файлов из списка путей: ```pascal procedure TForm1.ParseInfFile(const InfFile, SectionName: String); var I: TIniFile; SL, FilesList: TStringList; X, Y, Tmp: Integer; Pth, S, S1: String; begin I := TIniFile.Create(InfFile); try if (SectionName <> '') and (I.SectionExists(SectionName)) then begin // Check if the section has a value called "CopyFiles". if (I.ValueExists(SectionName, 'CopyFiles')) then begin // It has. Read it to a string and separate by commas. SL := TStringList.Create(); try SL.CommaText := IniReadStr(I, SectionName, 'CopyFiles', '');
В статье описывается проблема получения файлов драйверов для конкретного устройства и предлагается решение путем парсинга файлов INF. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |