Jump to content


Photo

[RESUELTO] Obtener el nombre del ejecutable desde un servicio


  • Please log in to reply
6 replies to this topic

#1 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4483 posts
  • LocationVenezuela

Posted 30 August 2011 - 10:30 AM

Bueno, realmente eso es lo que necesito, poder obtener el nombre del ejecutable que crea el servicio desde el mismo servicio,


Es que estoy creando un servicio que se conecta a la BD y los datos de configuracion los coloco en el mismo directorio que esta el ejecutable, la duda es como puedo recuperar esta ruta para poder obtener los datos de la conexion.


Espero haberme explicado
  • 0

#2 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 30 August 2011 - 10:41 AM

Quiero pensar que el consabido ExtractFilePath(Application.EXEName) no te sirve...
  • 0

#3 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4483 posts
  • LocationVenezuela

Posted 30 August 2011 - 10:45 AM

Al ser una aplicacion de tipo servicio el objeto APplication hereda de TServiceApplication que no tiene esa propiedad.  :(


Gracias de todas formas
  • 0

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 30 August 2011 - 11:22 AM

Vamos a usar la API:



delphi
  1. function GetExeName: ShortString;
  2. begin
  3.   Result[0]:= char(GetModuleFileName(0, @Result[1], sizeof(ShortString)));
  4. end;




Saludos.


  • 0

#5 seoane

seoane

    Advanced Member

  • Administrador
  • 1259 posts
  • LocationEspaña

Posted 30 August 2011 - 11:38 AM

No lo he probado pero el ParamStr(0) ¿no funciona?
  • 0

#6 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 30 August 2011 - 11:47 AM

No lo he probado pero el ParamStr(0) ¿no funciona?


Pues he probado esa opción y la propuesta mas arriba y ambas funcionan (al menos en un servicio escrito en C++ desde la API)

Saludos.
  • 0

#7 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4483 posts
  • LocationVenezuela

Posted 30 August 2011 - 11:49 AM

Si ambas opciones devuelven lo mismo, lo que sucede es que por descuido de mi parte habia probado era con params[0] y eso solo me devolvia el nombre del servicio, pero con ParamStr y la funcion de GetExeName.


Gracias a los dos  (y)
  • 0




IP.Board spam blocked by CleanTalk.