Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Установить файл .inf


Автор: SlaUr 1.10.2004, 07:10
Есть надобность "установить" в систему файл с расширением "inf".
В проводнике это делается кликаньем правой кнопки мыши по файлу (вызовется контекстное меню к файлу) и выбрав пункт меню "Установить".
Может кто подскажет как это сделать средствами delphi (просто запуск файла не подходит)

Автор: Alex 1.10.2004, 07:25
Код
function sfn(const LongName: String): String;
// Возвращает LongFileName преобразованное в соответствующее короткое имя
var i :Integer;
begin
 SetLength(Result,Length(LongName));
 i := GetShortPathName(pChar(LongName),pChar(Result),Length(Result));
 if  i > Length(Result)  then begin
   SetLength(Result,i);
   i := GetShortPathName(pChar(LongName),pChar(Result),Length(Result));
 end;
 SetLength(Result,i);
end;

function InstallINF(hParent: HWND; const PathName: string): Boolean;
// Инсталляция INF файла
var
 instance: HINST;
begin  
 instance := ShellExecute(hParent,  
   PChar('open'),  
   PChar('rundll32.exe'),  
   PChar('setupapi,InstallHinfSection DefaultInstall 132 ' + sfn(PathName)),
   nil,  
   SW_HIDE);  

 Result := instance > 32;
end;

Автор: SlaUr 1.10.2004, 08:02
Alex
Спасибо большое,нет сейчас под рукой delphi ,позже попробую.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)