Ejecucin de procesos

15/10/2004 - 16:30 por Juan | Informe spam
Hola a todos

Estoy ejecutando un programa con la clase procces

lo que hago básicamente es

Proceso.Start("acrodist")

o

proceso.Start("Word")

proceso.Start("notepad")

Me gustaría saber como puedo obtener la Ruta de ejecución
asociada a cada uno de estos procesos que deseo ejecutar

Un saludo
Juan

Preguntas similare

Leer las respuestas

#1 Octavio Telis Aynes
15/10/2004 - 17:52 | Informe spam
Veamos...

Bueno... revisando la case Process... no encuentro algo que te informe... de
hecho, trantando con :

sting Path = Process.Satart("notepad").StartInfo.FileName;

Pero devuelve... Notepad... mmm esto no se puede quedar así... tendremos que
movernos a algo un poco más elaborado... a menos que algún conocedor de la
clase Process no saque de la duda...

Mira... será más o menos así... (¿¿¿y mr. complicado no ha posteado???)

string path = "";
int id = System.Diagnostics.Process.Start("notepad").Id;
System.Management.ObjectQuery query = new
System.Management.ObjectQuery("Select ExecutablePath From Win32_Process
Where ProcessId = " + id.ToString());
System.Management.ManagementObjectSearcher search = new
ManagementObjectSearcher(query);

foreach( System.Management.ManagementObject manage in search.Get())
{
path = manage["ExecutablePath"].ToString();
}
label1.Text = path;


Requerimientos:

Client: Included in Windows XP, Windows 2000 Professional, Windows NT
Workstation 4.0 SP4 and later.
Server: Included in Windows Server 2003, Windows 2000 Server, and Windows NT
Server 4.0 SP4 and later.


Espero que lo disfrutes... por cierto, no olvides agregar la referencia a
System.Management.Dll en tu proyecto.


Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/




"Juan" escribió en el mensaje
news:0fbc01c4b2c3$880b1110$
Hola a todos

Estoy ejecutando un programa con la clase procces

lo que hago básicamente es

Proceso.Start("acrodist")

o

proceso.Start("Word")

proceso.Start("notepad")

Me gustaría saber como puedo obtener la Ruta de ejecución
asociada a cada uno de estos procesos que deseo ejecutar

Un saludo
Juan
Respuesta Responder a este mensaje
#2 Juan
16/10/2004 - 17:08 | Informe spam
SAi ensayare con lo que propones, porque tambien busque
por toda la clase process y no hay nada, que se parzca a
lo que busco, si alguna cosa sucede te cuento

Gracias

Veamos...

Bueno... revisando la case Process... no encuentro algo


que te informe... de
hecho, trantando con :

sting Path = Process.Satart


("notepad").StartInfo.FileName;

Pero devuelve... Notepad... mmm esto no se puede quedar


así... tendremos que
movernos a algo un poco más elaborado... a menos que


algún conocedor de la
clase Process no saque de la duda...

Mira... será más o menos así... (¿¿¿y mr. complicado no


ha posteado???)

string path = "";
int id = System.Diagnostics.Process.Start("notepad").Id;
System.Management.ObjectQuery query = new
System.Management.ObjectQuery("Select ExecutablePath


From Win32_Process
Where ProcessId = " + id.ToString());
System.Management.ManagementObjectSearcher search = new
ManagementObjectSearcher(query);

foreach( System.Management.ManagementObject manage in


search.Get())
{
path = manage["ExecutablePath"].ToString();
}
label1.Text = path;


Requerimientos:

Client: Included in Windows XP, Windows 2000


Professional, Windows NT
Workstation 4.0 SP4 and later.
Server: Included in Windows Server 2003, Windows 2000


Server, and Windows NT
Server 4.0 SP4 and later.


Espero que lo disfrutes... por cierto, no olvides


agregar la referencia a
System.Management.Dll en tu proyecto.


Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/




"Juan" escribió en


el mensaje
news:0fbc01c4b2c3$880b1110$
Hola a todos

Estoy ejecutando un programa con la clase procces

lo que hago básicamente es

Proceso.Start("acrodist")

o

proceso.Start("Word")

proceso.Start("notepad")

Me gustaría saber como puedo obtener la Ruta de ejecución
asociada a cada uno de estos procesos que deseo ejecutar

Un saludo
Juan



.

Respuesta Responder a este mensaje
#3 Octavio Hernandez
16/10/2004 - 17:31 | Informe spam
Tocayo,

Esto funciona bien:

Process p = Process.Start("NOTEPAD.EXE");
Console.WriteLine(p.MainModule.FileName);

Pero si solamente pongo 'NOTEPAD':

Process p = Process.Start("NOTEPAD"); // sin el .EXE
Console.WriteLine(p.MainModule.FileName);

Entonces da una excepción de Win32 "No puedo enumerar los módulos de la
aplicación". ¿Por qué será?

Slds,

Octavio (Hdez.)

"Octavio Telis Aynes" escribió en el mensaje
news:uRz6%
Veamos...

Bueno... revisando la case Process... no encuentro algo que te informe...


de
hecho, trantando con :

sting Path = Process.Satart("notepad").StartInfo.FileName;

Pero devuelve... Notepad... mmm esto no se puede quedar así... tendremos


que
movernos a algo un poco más elaborado... a menos que algún conocedor de la
clase Process no saque de la duda...

Mira... será más o menos así... (¿¿¿y mr. complicado no ha posteado???)

string path = "";
int id = System.Diagnostics.Process.Start("notepad").Id;
System.Management.ObjectQuery query = new
System.Management.ObjectQuery("Select ExecutablePath From Win32_Process
Where ProcessId = " + id.ToString());
System.Management.ManagementObjectSearcher search = new
ManagementObjectSearcher(query);

foreach( System.Management.ManagementObject manage in search.Get())
{
path = manage["ExecutablePath"].ToString();
}
label1.Text = path;


Requerimientos:

Client: Included in Windows XP, Windows 2000 Professional, Windows NT
Workstation 4.0 SP4 and later.
Server: Included in Windows Server 2003, Windows 2000 Server, and Windows


NT
Server 4.0 SP4 and later.


Espero que lo disfrutes... por cierto, no olvides agregar la referencia a
System.Management.Dll en tu proyecto.


Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/




"Juan" escribió en el mensaje
news:0fbc01c4b2c3$880b1110$
Hola a todos

Estoy ejecutando un programa con la clase procces

lo que hago básicamente es

Proceso.Start("acrodist")

o

proceso.Start("Word")

proceso.Start("notepad")

Me gustaría saber como puedo obtener la Ruta de ejecución
asociada a cada uno de estos procesos que deseo ejecutar

Un saludo
Juan



Respuesta Responder a este mensaje
#4 Octavio Telis Aynes
19/10/2004 - 23:00 | Informe spam
Imagino, aunque no estoy seguro... pero puede deberse a que MainModule no
puede identificar a Notepad como un .EXE o como .DLL. Ya que MainModule al
parecer está tomando el nombre completo (inclusive la extensión) para
identificar el proceso. Ya que process.Start lanza la aplicación con el
Shell o con Win32_Process... Es lo que se me ocurre. Trataré de indagar más
en este asunto para que no nos quedemos con ninguna duda.

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/

"Octavio Hernandez" escribió en el mensaje
news:
Tocayo,

Esto funciona bien:

Process p = Process.Start("NOTEPAD.EXE");
Console.WriteLine(p.MainModule.FileName);

Pero si solamente pongo 'NOTEPAD':

Process p = Process.Start("NOTEPAD"); // sin el .EXE
Console.WriteLine(p.MainModule.FileName);

Entonces da una excepción de Win32 "No puedo enumerar los módulos de la
aplicación". ¿Por qué será?

Slds,

Octavio (Hdez.)

"Octavio Telis Aynes" escribió en el mensaje
news:uRz6%
> Veamos...
>
> Bueno... revisando la case Process... no encuentro algo que te


informe...
de
> hecho, trantando con :
>
> sting Path = Process.Satart("notepad").StartInfo.FileName;
>
> Pero devuelve... Notepad... mmm esto no se puede quedar así... tendremos
que
> movernos a algo un poco más elaborado... a menos que algún conocedor de


la
> clase Process no saque de la duda...
>
> Mira... será más o menos así... (¿¿¿y mr. complicado no ha posteado???)
>
> string path = "";
> int id = System.Diagnostics.Process.Start("notepad").Id;
> System.Management.ObjectQuery query = new
> System.Management.ObjectQuery("Select ExecutablePath From Win32_Process
> Where ProcessId = " + id.ToString());
> System.Management.ManagementObjectSearcher search = new
> ManagementObjectSearcher(query);
>
> foreach( System.Management.ManagementObject manage in search.Get())
> {
> path = manage["ExecutablePath"].ToString();
> }
> label1.Text = path;
>
>
> Requerimientos:
>
> Client: Included in Windows XP, Windows 2000 Professional, Windows NT
> Workstation 4.0 SP4 and later.
> Server: Included in Windows Server 2003, Windows 2000 Server, and


Windows
NT
> Server 4.0 SP4 and later.
>
>
> Espero que lo disfrutes... por cierto, no olvides agregar la referencia


a
> System.Management.Dll en tu proyecto.
>
>
> Saludos...
>
> Octavio Telis Aynés
> www.comunidadpuntonet.org/df/
>
>
>
>
> "Juan" escribió en el mensaje
> news:0fbc01c4b2c3$880b1110$
> Hola a todos
>
> Estoy ejecutando un programa con la clase procces
>
> lo que hago básicamente es
>
> Proceso.Start("acrodist")
>
> o
>
> proceso.Start("Word")
>
> proceso.Start("notepad")
>
> Me gustaría saber como puedo obtener la Ruta de ejecución
> asociada a cada uno de estos procesos que deseo ejecutar
>
> Un saludo
> Juan
>
>
>


Respuesta Responder a este mensaje
#5 Pedro Luna Montalvo, MVP
19/10/2004 - 23:34 | Informe spam
Saludos,

te indico una correccion...

Process p = Process.Start("NOTEPAD"); // sin el .EXE
p.Refresh(); // Agrega esta linea!!!
Console.WriteLine(p.MainModule.FileName);


Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu


"Octavio Hernandez" escribió en el mensaje
news:
Tocayo,

Esto funciona bien:

Process p = Process.Start("NOTEPAD.EXE");
Console.WriteLine(p.MainModule.FileName);

Pero si solamente pongo 'NOTEPAD':

Process p = Process.Start("NOTEPAD"); // sin el .EXE
Console.WriteLine(p.MainModule.FileName);

Entonces da una excepción de Win32 "No puedo enumerar los módulos de la
aplicación". ¿Por qué será?

Slds,

Octavio (Hdez.)

"Octavio Telis Aynes" escribió en el mensaje
news:uRz6%
> Veamos...
>
> Bueno... revisando la case Process... no encuentro algo que te


informe...
de
> hecho, trantando con :
>
> sting Path = Process.Satart("notepad").StartInfo.FileName;
>
> Pero devuelve... Notepad... mmm esto no se puede quedar así... tendremos
que
> movernos a algo un poco más elaborado... a menos que algún conocedor de


la
> clase Process no saque de la duda...
>
> Mira... será más o menos así... (¿¿¿y mr. complicado no ha posteado???)
>
> string path = "";
> int id = System.Diagnostics.Process.Start("notepad").Id;
> System.Management.ObjectQuery query = new
> System.Management.ObjectQuery("Select ExecutablePath From Win32_Process
> Where ProcessId = " + id.ToString());
> System.Management.ManagementObjectSearcher search = new
> ManagementObjectSearcher(query);
>
> foreach( System.Management.ManagementObject manage in search.Get())
> {
> path = manage["ExecutablePath"].ToString();
> }
> label1.Text = path;
>
>
> Requerimientos:
>
> Client: Included in Windows XP, Windows 2000 Professional, Windows NT
> Workstation 4.0 SP4 and later.
> Server: Included in Windows Server 2003, Windows 2000 Server, and


Windows
NT
> Server 4.0 SP4 and later.
>
>
> Espero que lo disfrutes... por cierto, no olvides agregar la referencia


a
> System.Management.Dll en tu proyecto.
>
>
> Saludos...
>
> Octavio Telis Aynés
> www.comunidadpuntonet.org/df/
>
>
>
>
> "Juan" escribió en el mensaje
> news:0fbc01c4b2c3$880b1110$
> Hola a todos
>
> Estoy ejecutando un programa con la clase procces
>
> lo que hago básicamente es
>
> Proceso.Start("acrodist")
>
> o
>
> proceso.Start("Word")
>
> proceso.Start("notepad")
>
> Me gustaría saber como puedo obtener la Ruta de ejecución
> asociada a cada uno de estos procesos que deseo ejecutar
>
> Un saludo
> Juan
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida