![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
hola en C++ Builder
¿como puedo pasar parametros ¡? especialmente al enviar parametros con espacios por ejemplo abrir archivo que esta en C:\miapp.exe tengo este codigo pero no se como hacerle por que los parametros que la aplicacion recibe. se muestran asi. c:\miapp.exe parametro 1 parametro 2 parametro _3 y yo quiero que salgan asi. c:\miapp.exe parametro 1 parametro 2 parametro _3 Código:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
BOOL CreateProcess(
LPCWSTR pszImageName,
LPCWSTR pszCmdLine,
LPSECURITY_ATTRIBUTES psaProcess,
LPSECURITY_ATTRIBUTES psaThread,
BOOL fInheritHandles,
DWORD fdwCreate,
LPVOID pvEnvironment,
LPWSTR pszCurDir,
LPSTARTUPINFOW psiStartInfo,
LPPROCESS_INFORMATION pProcInfo
);
void __fastcall TForm1::Button1Click(TObject *Sender)
{
STARTUPINFO StartInfo;// name structure
PROCESS_INFORMATION ProcInfo; // name structure
memset(&ProcInfo, 0, sizeof(ProcInfo)); // Set up memory block
memset(&StartInfo, 0 , sizeof(StartInfo)); // Set up memory block
StartInfo.cb = sizeof(StartInfo); // Set structure size
char *sCmdLin = "C:\\miapp.exe 'parametro 1' 'parametro 2' 'parametro _3' " ;
int res = CreateProcess(NULL, sCmdLin , NULL, NULL, NULL, NULL, NULL, NULL, &StartInfo, &ProcInfo);
}
//---------------------------------------------------------------------------
gracias por su atencion. |
|
#2
|
||||
|
||||
|
Cuando hay espacios debes indícar el texto entre comillas, ejemplo: "c:\documents and settings\tu carpeta\tuprograma.exe"
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Cita:
entonces asi. char *sCmdLin = "C:\\miapp.exe "parametro 1" "parametro 2" "parametro _3" " ; mm char *sCmdLin = "C:\\miapp.exe 'parametro 1' 'parametro 2' 'parametro _3' " ; dejame revisarlo. ptra cosas a fuerzas se tiene que poner la doble barra?? C:\\ o solo con C:\ si es doble barra a fuerza. como la pongo??? si se supone que el programa lo obtiene el directorio de windows. o de archivos de texto que manejan solo C:\archivos de programa\mi app\ |
|
#4
|
||||
|
||||
|
Con CreateProcess:
Código:
PROCESS_INFORMATION pi = {0};
STARTUPINFO si = {0};
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
bool bRet = CreateProcess(0, "C:\MiPrograma.exe param1 param2,0,0,0,0,0,0,&si,&pi);
Código:
ShellExecute(0, 0, "C:\MiPrograma.exe", "param1 param2", 0, SW_SHOW); Saludos. |
|
#5
|
|||
|
|||
|
Cita:
por que yo quiero pasar paramtros. asi bool bRet = CreateProcess(0, "C:\MiPrograma.exe param 1 param 2 ,0,0,0,0,0,0,&si,&pi); son 2 parametros y que pueda recibirllos asi. param 1 param 2 en la forma que me propnene salen asi C:\MiPrograma.exe param 1 lo que quiero es poder pasarle la ruta de otra aplicacion . y de otros documentos. a mi aplicacion. la ruta es c:\archivos de programa\winrar.exe y el archivo a comprimir es C:\Users\jxj\Documents\mi carpeta\archivo emails.txt como ven hay espacios. y no se como manejarlos. con c++ builder 6.. |
|
#6
|
||||
|
||||
|
Código:
PROCESS_INFORMATION pi = {0};
STARTUPINFO si = {0};
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
CreateProcess(0, "Miprograma.exe \"c:\\archivos de programa\\winrar.exe\" \"C:\\Users\\jxj\\Documents\\mi carpeta\\archivo emails.txt\"",0,0,0,0,0,0,&si,&pi);
Última edición por escafandra fecha: 28-03-2011 a las 15:01:20. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Enviar parámetros al Browser | MaMu | API de Windows | 0 | 15-04-2008 08:11:32 |
| Enviar Parámetros a una form | Manuel | Varios | 4 | 16-08-2006 04:24:38 |
| Recibir parámetros desde php con una aplicación c++Builder | Panchisco | C++ Builder | 0 | 04-06-2005 22:32:35 |
| Enviar parametros a un informe (QuickReport) | Lionel | Impresión | 1 | 08-06-2004 15:25:45 |
| Parametros entre Delphi i c++ Builder | jsb | Varios | 7 | 20-02-2004 18:25:05 |
|