whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

28 Visitors Online


 
...determine which Application is associated with a File Type?
Autor: Simon Grossenbacher
Homepage: http://www.swissdelphicenter.ch
[ Print tip ]  

Tip Rating (11):  
     


{
  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
  dazugehörige Anwendung MSPAINT.EXE mit der Datei als
  Parameter ausgeführt. In diesem Beispiel wird
  herausgefunden, welche Anwendung (hier MSPAINT.EXE)
  mit dem jeweiligen Datei Typ verknüpft 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^ := #32;
      Inc(P);
    end;
    Result := Buffer;
  end 
  else
    
Result := '';
end;

// Example, Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
begin
  
ShellFindExecutable('1stboot.bmp', 'c:\windows');
end;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners