Ver Mensaje Individual
  #1  
Antiguo 11-06-2013
kookybyte kookybyte is offline
Registrado
NULL
 
Registrado: jun 2013
Posts: 2
Reputación: 0
kookybyte Va por buen camino
Añadir parametros en cmd.exe y no funcionan...

Hola a todos, soy nuevo en esto de la programacion y me he quedado atascado.
quiero que mi programa cuando presione el boton Button3 me abra cmd.exe con una linea de comandos determinada para ejecutar un programa en ms-dos. El cmd.exe me lo abre pero no consigo que me ejecute la linea de comandos, he probado de varias formas googleando pero no hay manera, ahora mismo tengo este codigo fuente del boton

Código Delphi [-]

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, Menus, Process, Windows;   
var
 Vdg: String;
 UnProceso: TProcess;

procedure TForm1.Button3Click(Sender: TObject);
begin
   Vdg:=GetCurrentDir + '\tools\programa.exe';
   UnProceso := TProcess.Create(nil);
   UnProceso.Executable := 'c:\windows\system32\cmd.exe';
   UnProceso.parameters.Add(Vdg);
   UnProceso.parameters.Add(-h);
   UnProceso.Options := UnProceso.Options + [poWaitOnExit];
   UnProceso.Execute;
   UnProceso.Free;
   end;

con esto consigo abrir la consola pero me aparece con la ruta de donde tengo el ejecutable, no consigo que añada la variable "Vdg". la variable lleva la ruta correcta porque con un showmessage(vdgindex) me muestra la ruta correcta. Hay mas partes de codigo pero no veo necesario ponerlas aqui porque creo que no afectan.
He provado con

Código Delphi [-]
Unproceso.Commandline :=  'c:\windows\system32\cmd.exe ' + .....

pero tampoco hace nada, solo abre el cmd.exe pero no añade la linea de comandos necesaria para abrir el programa.exe.
Si cambio el cmd.exe por programa.exe se me abre este pero en formato windows, no en forma de msdos, que es como lo necesito para poder añadir el parametro -h
Tambien he probado ShellExecute y nada...¿alguien sabe que falla?

Última edición por Neftali [Germán.Estévez] fecha: 11-06-2013 a las 12:56:55. Razón: Añadidos los TAGs
Responder Con Cita