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 03-10-2005
RazoR RazoR is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
RazoR Va por buen camino
Problema al ejecutar aplicacion con parametros

Bueno, tengo un problema. El tema es así: yo quiero ejecutar un emulador de ROMs de SNES y al darle la ruta del ROM no me ejecuta ni el programa si quiera, pero si no se la doy (o sea para ejecutar el emulador normalmente) si me lo ejecuta.

Ésto es lo que uso para ejecutarlo sin el ROM:

Código Delphi [-]
 ShellExecute(Form1.Handle,nil,PChar('"C:\Documents and Settings\...\zsnesw.exe"'),'','',SW_SHOWNORMAL);
Y ésto es lo que quiero usar para ejecutarlo con el ROM:

Código Delphi [-]
 ShellExecute(Form1.Handle,nil,PChar('"C:\Documents and Settings\...\zsnesw.exe rom.smc"'),'','',SW_SHOWNORMAL);
rom.smc es el archivo del ROM. La sintaxis del ZSNES (el emulador que uso de SNES) es ésta:

Usage : zsnes [-d,-f #, ... ] <filename.sfc>
Eg : zsnes -s -r 2 game.sfc

Para más info click acá

Lo raro es que si yo voy a Inicio->Ejecutar y pongo:

"C:\Documents and Settings\Gonzalo\Mis documentos\Programacion\ZSNES Rom Loader\ZSNES\zsnesw.exe rom.smc"

Me ejecuta el emulador corriendo el ROM que elegí por lo que en teoría debería andar ésto, creo.

Alguien tiene idea de cuál puede ser el problema o una solución al mismo?

Saludos, Gonzalo

PD: al método que usé para correr el emulador con parámetros lo usé con otros programas y me anduvo bien, así que no sé por qué con éste no anda.

Última edición por dec fecha: 04-10-2005 a las 15:14:28. Razón: Ajustar el ancho del texto. Encerrar el código entre las etiquetas [DELPHI] ... [/DELPHI]
Responder Con Cita
  #2  
Antiguo 04-10-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
no estoy seguro de esto, pero creo que si quitas las comillas y dejas solo los apóstrofes debería funcionar.
__________________

Responder Con Cita
  #3  
Antiguo 04-10-2005
RazoR RazoR is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
RazoR Va por buen camino
No, no anduvo
Responder Con Cita
  #4  
Antiguo 04-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por Ayuda delphi
HINSTANCE ShellExecute(

HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
¿Para qué servirá lo que he puesto en rojo?

Lo que está en azul, será interesante ponerlo, para que encuentre el
"rom.smc", ya que el directorio activo en windows puede ser distinto al
especificado del ejecutable.

Código Delphi [-]
ShellExecute(Form1.Handle,
      nil, 
      PChar('"C:\Documents and Settings\....\zsnesw.exe"',
      Pchar('"rom.smc"'),'',SW_SHOWNORMAL);

Un saludo

Última edición por Lepe fecha: 04-10-2005 a las 11:54:41.
Responder Con Cita
  #5  
Antiguo 04-10-2005
RazoR RazoR is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
RazoR Va por buen camino
Ya lo intenté también Y con WinExec tampoco pude. También probé con nombres 8.3 y no pude, ya no sé que hacer

/EDIT: con ésto había probado antes, nombres 8.3 y poniendo los parámetros y la carpeta de trabajo por separado.

Código Delphi [-]
 ShellExecute(Form1.Handle,nil,PChar('C:\docu~1\Gonzalo\Misdoc~1\progra~1\ZSNESr~1\ZSNES\zsnesw.exe')  ,
   PChar('C:\docu~1\Gonzalo\Misdoc~1\progra~1\ZSNESr~1\ZSNES\rom.smc'),
     PChar('C:\docu~1\Gonzalo\Misdoc~1\progra~1\ZSNESr~1\ZSNES'),SW_SHOWNORMAL);

Última edición por dec fecha: 04-10-2005 a las 16:35:15. Razón: Ajustar el ancho del texto. Encerrar el código entre las etiquetas [DELPHI] ... [/DELPHI]
Responder Con Cita
  #6  
Antiguo 04-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Que si funciona hombre, no desesperes.

Si una ruta tiene espacios en blanco, y/o bien es más larga de 8 caracteres, tienes que meterla entre dobles comillas.

Si no estas en windows equispé o 2000 entonces no esperes que funcione

Código Delphi [-]
ShellExecute(Form1.Handle,
      nil, 
      PChar('"C:\Documents and Settings\....\zsnesw.exe"',
      Pchar('"rom.smc"'),
      PChar('"C:\Documents and Settings\...\"'),
      SW_SHOWNORMAL);
Eso debe funcionar, y si no:
Código Delphi [-]
ShellExecute(Form1.Handle,
      Pchar('open'), 
      PChar('"C:\Documents and Settings\....\zsnesw.exe"',
      Pchar('"rom.smc"'),
      PChar('"C:\Documents and Settings\...\"'),
      SW_SHOWNORMAL);

Un saludo
Responder Con Cita
  #7  
Antiguo 04-10-2005
RazoR RazoR is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
RazoR Va por buen camino
Acabo de probar con ésto:

Código Delphi [-]
ShellExecute(Form1.Handle,
         PChar('open'),
         PChar('"C:\Documents and Settings\Gonzalo\Mis Documentos\Programacion\ZSNES Rom Loader\ZSNES\zsnesw.exe"'),
         Pchar('"rom.smc"'),
         PChar('"C:\Documents and Settings\Gonzalo\Mis Documentos\Programacion\ZSNES Rom Loader\ZSNES\"'),
         SW_SHOWNORMAL);

Y ésto:

Código Delphi [-]
ShellExecute(Form1.Handle,
         nil,
         PChar('"C:\Documents and Settings\Gonzalo\Mis Documentos\Programacion\ZSNES Rom Loader\ZSNES\zsnesw.exe"'),
         Pchar('"rom.smc"'),
         PChar('"C:\Documents and Settings\Gonzalo\Mis Documentos\Programacion\ZSNES Rom Loader\ZSNES\"'),
         SW_SHOWNORMAL);

Y ninguna de las 2 cosas anduvo Tengo Windows XP SP2

/EDIT: Probé poniéndole la ruta completa al rom y anduvo!! Muchisimas, pero muchisimas gracias

Última edición por RazoR fecha: 04-10-2005 a las 16:21:59.
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


La franja horaria es GMT +2. Ahora son las 10:25:47.


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