Ver Mensaje Individual
  #6  
Antiguo 14-11-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.286
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si revisas el código llegarás a esta línea:

Código Delphi [-]
  Win32Check(CreateProcess(nil, 'NOTEPAD.EXE', nil, nil, FALSE,
                    CREATE_NEW_CONSOLE, nil, nil, StartInfo, ProccesInfo));

Sustituye NOTEPAD.EXE por cualquier otro programa que quieras; Puedes incluir el path para mayor seguridad.

Otra opción es sustituir el procedimiento entero por este otro, a ver si este te devuelve algun mensaje de error:

Código Delphi [-]
procedure TfrmMain.Button1Click(Sender: TObject);
var
  StartInfo: STARTUPINFO;
  ProccesInfo: PROCESS_INFORMATION;
  hNotepad: HWND;
begin
  ZeroMemory(@StartInfo, SizeOf(STARTUPINFO));
  with StartInfo do
  begin
    cb := SizeOf(STARTUPINFO);
    dwFlags := STARTF_USESHOWWINDOW;
    wShowWindow := SW_HIDE;
  end;

  try
    Win32Check(CreateProcess(nil, 'c:\winnt\_NOTEPAD.EXE', nil, nil, FALSE,
                             CREATE_NEW_CONSOLE, nil, nil, StartInfo, ProccesInfo));

    hNotepad := FindThreadWindow(ProccesInfo.dwThreadId, 0, nil, nil);
    if hNotepad <> 0 then begin
      { La muestra despues para evitar que se vea en equipos lentos }
      Windows.SetParent(hNotepad, sbSpool.Handle);
      ShowWindow(hNotepad, SW_SHOW);
    end
    else begin
      MessageDlg('No se ha encontrado la aplicación funcionando...', mtError, [mbOK], 0);
    end;
  except
    on E:Exception do begin
      MessageDlg(Format('Se ha producido un error: %s' ,[E.Message]), mtError, [mbOK], 0);

    end;
  end;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita