Ver Mensaje Individual
  #9  
Antiguo 19-11-2014
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Reputación: 21
mRoman Va por buen camino
Solucionado....

Asi quedo el codigo final:

Código Delphi [-]
procedure TForm1.btnReproducirClick(Sender: TObject);
var
   St : array[0..255] of char;
   NumProceso:Cardinal;
begin
     With lvLista do
     begin
         i:=0;
         While i < Items.Count do
         begin
             if lvLista.Items[i].Checked then
             begin
                 Application.Minimize;
                 NumProceso:=ejecutarProceso('"C:\Program Files (x86)\KaraFun\KaraFun.exe" "'+Items.Item[i].SubItems.Strings[1]+'"');
                 if NumProceso<>0 then
                     WaitForSingleObject(numProceso,INFINITE);
                 Application.Restore;
             end;
             inc(i);
         end;
     end;

end;

Con la funcion modificada que propuso neftali
Código Delphi [-]
function ejecutarProceso (nombreProceso : string) : Cardinal;
var
  infoInicio : TStartupInfo;
  infoProceso : TProcessInformation;
begin
  Result := 0;

  FillChar (infoInicio, SizeOf(infoInicio), 0);
  infoInicio.cb := SizeOf(infoInicio);

  if CreateProcess(nil, PChar(nombreProceso), 
      nil, nil, false, 0, nil, nil,
      infoInicio, infoProceso) then
    Result := infoProceso.hProcess;
end;
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita