Invocation Process C#

Hola a todos… en algunas ocasiones es necesario hacer llamados a programas externos a las aplicaciones que al final del dia son procesos que se corren dentro del sistema operativo.

Un ejemplo simple de este tipo de usos es por ejemplo abrir una instancia de Internet Explorer dentro de un comando de un boton. Para eso obviamente se requiere que se sepa la ubicacion del .exe del archivo y asi poder hacer llamados a los procesos.

private void button1_Click(object sender, RoutedEventArgs e)
        {
            Process myProcess = new Process();
            myProcess.StartInfo = new ProcessStartInfo(@"C:\Program Files\Internet Explorer\iexplore.exe", "http://www.facebook.com");
            myProcess.Start();
        }

Dentro del llamado a procesos es posible pasar argumentos, en el caso de Internet explorer es posible pasar la direccion que uno desee.

Ademas hay cosas interesantes que a traves de los metodos estaticos de Process podemos hacer:

var myProcessCollection = Process.GetProcesses(Environment.MachineName);
            StringBuilder myProcessNames = new StringBuilder(string.Format("Active Process of {0} : ", Environment.MachineName));

            foreach (var item in myProcessCollection)
            {
                myProcessNames.AppendLine(string.Format("Id: {0}", item.Id));
                myProcessNames.AppendLine(string.Format("Name: {0}", item.ProcessName));
                myProcessNames.AppendLine(string.Format("MainModule: {0}", item.MainModule));
                myProcessNames.AppendLine(string.Format("Number of Threads: {0}", item.Threads.Count));
            }

 

Con este codigo podemos explorar los procesos de una maquina y ver sus propiedades. Generalmente el uso de este tipo de servicios se usan para diagnosticar rendimiento de aplicaciones o bien paa controlar los procesos de la maquina.

Espero les sirva!

Saludos,

Roberto Erazo

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s