Desabilitar aplicativo Delphi ao executar programa externo

22/07/2008

1

Como utilizar o comando WinExec(´ProgExterno.exe´, Show?????) ou o ShellExecute e impedir que o aplicativo Delphi seja clicado?

Ou seja, se a janela do executável externo for menor que a janela do aplicativo Delphi, não permitir que a janela do aplicativo Delphi seja clicada e ativada, sobrepondo-se sobre o programa externo.

Tem alguma forma?

Agradeço.


Responder

Posts

23/07/2008

Cps.art

Alguma dica?


Responder

23/07/2008

Luciano.lirio

function Executa(Arquivo: String; Estado: Integer): Integer;
var
  Programa:array[0..512] of char;
  StartupInfo:TStartupInfo;
  ProcessInfo:TProcessInformation;
  Resultado:Cardinal;
begin
  StrPCopy(Programa,Arquivo);
  FillChar(StartupInfo,Sizeof(StartupInfo),0);
  StartupInfo.cb := sizeof(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := Estado;
  if not CreateProcess(nil,Programa,nil,nil,false,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,nil,StartupInfo,ProcessInfo) then
    Result := -1
  else
    begin
      WaitForSingleObject(ProcessInfo.hProcess,Infinite);
      GetExitCodeProcess(ProcessInfo.hProcess,Resultado);
      Result := Resultado;
    end;
end;



Responder

23/07/2008

Cps.art

Obrigado luciano, mas como executo essa função?


Responder

23/07/2008

Luciano.lirio

Executa(´PROGRAMA.EXE´,0);

o segundo parametro indica o estado da janela.


Responder