Pastas - saber o path do exe via handle

Top  Previous  Next

Como um programa pode criar várias janelas (cada uma com sua handle), 

na verdade a handle é só usada para descobrir a

instancia do programa que criou a janela (handle). 

Daí com a instancia, é possível obter o local do executável com GetModuleFilename.

 

function CaminhoEXE(Handle: HWND): String;

var

  Instance: HInst;

  Filename: Array[0..400of char;

begin

  Fillchar(Filename, 4010);

  Instance := GetWindowLong(handle, GWL_HINSTANCE);

  GetModuleFilename(Instance, @Filename, 400);

  Result := Filename;

end

 

-> Junior: Testei no Win2000 com Delphi 5 e não funcionou...