Delphi World - Получить приложение, ассоциированное с указанным расширением файлов
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Получить приложение, ассоциированное с указанным расширением файлов

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  FindExecutable returns the name and handle to the executable 
  (.EXE) file associated with a specified file type (.BMP) 
}

 { 
  Wenn du z.B eine BMP-Datei anklickst, wird die 
  dazugehorige Anwendung MSPAINT.EXE mit der Datei als 
  Parameter ausgefuhrt. In diesem Beispiel wird 
  herausgefunden, welche Anwendung (hier MSPAINT.EXE) 
  mit dem jeweiligen Datei Typ verknupft ist. 
}


 function ShellFindExecutable(const FileName, DefaultDir: string): string;
 var
   Res: HINST;
   Buffer: array[0..MAX_PATH] of Char;
   P: PChar;
 begin
   FillChar(Buffer, SizeOf(Buffer), #0);
   if DefaultDir = '' then P := nil
    else
      P := PChar(DefaultDir);
   Res := FindExecutable(PChar(FileName), P, Buffer);
   if Res > 32 then
   begin
     P := Buffer;
     while PWord(P)^ <> 0 do
     begin
       if P^ = #0 then // FindExecutable replaces #32 with #0 
        P^ := ' ';
       Inc(P);
     end;
     Result := Buffer;
   end
    else
     Result := '';
 end;

 // Example, Beispiel: 

procedure TForm1.Button1Click(Sender: TObject);
 begin
   ShellFindExecutable('1stboot.bmp', 'c:\windows');
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования