Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-06-2013
kookybyte kookybyte is offline
Registrado
NULL
 
Registrado: jun 2013
Posts: 2
Poder: 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
  #2  
Antiguo 11-06-2013
WkaymQ48 WkaymQ48 is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 43
Poder: 0
WkaymQ48 Va por buen camino
Para pesarle un comando al cmd tienes que utilizar el parámetro "/c" es decir:
Código:
cmd.exe /c tuprograma.exe tusparametros
Y con "/k" haces lo mismo pero la ventana del cmd no se cierra al terminar:
Código:
cmd.exe /k tuprograma.exe tusparametros
Responder Con Cita
  #3  
Antiguo 11-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por kookybyte Ver Mensaje
Hola a todos
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #4  
Antiguo 11-06-2013
kookybyte kookybyte is offline
Registrado
NULL
 
Registrado: jun 2013
Posts: 2
Poder: 0
kookybyte Va por buen camino
perdona Casimiro, el proximo post pondre el tag que se me ha olvidado...

y WkaymQ48, muchas gracias, me ha servido, ahora con esta linea me funciona

Código Delphi [-]
UnProceso.Parameters.Add('start "" /c ' + Vdg + ' -h -hide -exit');
Responder Con Cita
  #5  
Antiguo 11-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es normal, eres nuevo
¡Gracias!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿por que parametros opcionales function procedure no me funcionan? JXJ Varios 9 13-04-2012 04:49:56
no funcionan mis subdominios jomanmoz Internet 1 24-03-2009 11:34:40
Parametros tipo DATE que no funcionan como supondría. AzidRain Firebird e Interbase 21 07-05-2008 04:32:32
Como añadir parámetros o variables (QReport) salvica Impresión 9 27-11-2007 14:36:13
Funciones que no funcionan micayael PHP 2 13-09-2005 22:26:33


La franja horaria es GMT +2. Ahora son las 08:45:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi