Page 1 of 1

IsExeRunning() Dudas, cómo funciona?

Posted: Sat Nov 16, 2024 10:31 pm
by FiveWiDi
Hola a todos,

Tengo una aplicación que cuando se lanza comprueba que ella misma ya esté funcionando, eso lo hace con IsExeRunning().

Hasta ahí correcto.

El caso es que he copiado la aplicación con otro nombre ( miprograma.exe a elmejor.exe ), y si los lanzo los 2, el segundo detecta con IsExeRunning() que ya está funcionando. Entiendo que no debería ser así, ya que tiene otro nombre.

Cómo funciona IsExeRunning()?
Que comprueba IsExeRunning()? El fichero '.exe' entiendo que no por que son diferentes.

A ver si alguien sabe algo al respecto.

EDITADO
*******
Parece ser que sucede cuando lanzo la 'copia' mediante ShellExecute() desde la aplicación original.
Mañana sigo investigando.

Muchas gracias,

Re: IsExeRunning() Dudas, cómo funciona?

Posted: Sun Nov 17, 2024 8:45 am
by Antonio Linares
Estimado Carlos,

> Parece ser que sucede cuando lanzo la 'copia' mediante ShellExecute() desde la aplicación original.

Cuando utilizas ShellExecute() para lanzar una copia de tu aplicación, el proceso hijo hereda el espacio de nombres del mutex del proceso padre

Re: IsExeRunning() Dudas, cómo funciona?

Posted: Mon Nov 18, 2024 1:21 pm
by FiveWiDi
Antonio Linares wrote:Estimado Carlos,

> Parece ser que sucede cuando lanzo la 'copia' mediante ShellExecute() desde la aplicación original.

Cuando utilizas ShellExecute() para lanzar una copia de tu aplicación, el proceso hijo hereda el espacio de nombres del mutex del proceso padre
Aclarado,

Menos mal, ya estaba yo buscando fantasmas.

Entonces haré una excepción por nombre del ejecutable y chimpum.

Muchas gracias Antonio