23 septiembre 2006

Parte 0: Iniciar Archivos y Ejecutables usando la clase Process

Hola amigos!!
Despues de mucho tiempo que no he colgado ejemplos en C#, jejejeje......vamos a realizar algo tipico que talvez a ustedes se le vino la idea de querer ejecutar programas (.exe) o archivos.
En este caso vamos a ejecutar la Calculadora, Bloc de Notas y abrir un archivo usando el Bloc de Notas. Y recordando en VB6 se usa el comando Shell para ejecutar un ejecutable, en nuestro caso vamos a usar la clase Process y para ello tenemos que usar el espacio de nombres System.Diagnostics.
En nuestro Winforms tendremos que insertar 3 Buttons (btnEXECal, btnEXENote, btnArgumentos):
Al inicio de nuestro script tenemos que incluir o agregar el namespaces:

Cuando declaramos este namespaces System.Diagnostics, podemos usar la clase Process, y por ello vamos a instanciar esta clase Process:Ahora para ejecutar programas (.exe) le voy a presentar 2 formas de como ejecutar estos programas.
Forma 01: Para ejecutar nuestro primer botón Ejecutar Calculadora, escribiremos el siguiente script:
Y cuando presionamos el botón Ejecutar Calculadora, se visualiza de la siguiente forma: Forma 02: Para ejecutar nuestro segundo botón Ejecutar Bloc de Notas, escribiremos el siguiente script:
Y cuando presionamos el botón Ejecutar Bloc de Notas, se visualiza de la siguiente forma:
Les comento para nuestro ultimo script lo primero que deben hacer es copiar o crear un archivo y grabarlo en el directo "C:\", en nuestro caso voy a copiar el archivo Form1.cs, del ejemplos que estamos realizando. En este caso vamos a usar una propiedad Arguments, donde visualizaremos en archivos Form1.cs en el Bloc de Notas.
Para ejecutar nuestro segundo botón Leer archivo en Bloc de Notas, escribiremos el siguiente script:
Y cuando presionamos el botón Leer archivo en Bloc de Notas, se visualiza de la siguiente forma:
A continuación nuestro script completo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace Programas
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Process miProceso = new Process();

private void btnEXECal_Click(object sender, EventArgs e)
{
miProceso.StartInfo.FileName = "calc.exe";
miProceso.Start();
}

private void btnEXENote_Click(object sender, EventArgs e)
{
ProcessStartInfo starApp = new ProcessStartInfo();
string app = "notepad.exe";
starApp.FileName = app;
miProceso.StartInfo = starApp;
miProceso.Start();
}

private void btnArgumentos_Click(object sender, EventArgs e)
{
ProcessStartInfo starApp = new ProcessStartInfo();
string app = "notepad.exe";
starApp.FileName = app;
miProceso.StartInfo = starApp;
miProceso.StartInfo.Arguments = @"c:\Form1.cs";
miProceso.Start();
}
}
}

Bueno amigos espero que haya sido de gran utilidad este ejemplo y me despido...nos vemos.
Saludos,

2 comentarios:

  1. Hola como puedo hacer eso mismo pero abrir el bloc de notas de otra computadora remotamente. Gracias

    roger3antonio@gmail.com

    ResponderBorrar
  2. Hola Roger Antonio,
    disculpa x la demora a tu comentario...como que caso te refieres remotamente? ejecutar una aplicación te refieres?
    gracias....salu2

    ResponderBorrar

Todos los comentarios serán leídos y moderados previamente. Serán publicados aquellos comentarios que respeten las siguientes reglas:
1. Su comentario debe estar relacionado al contenido del post.
2. No se aceptan comentarios tipo SPAM e incluyan incluya links en el contenido de su comentario.
3. Si quieres dejar la url de tu blog, hazlo utilizando la opción OpenID.
4. La caja de comentarios no es el lugar para pedir intercambio de links (para ello ve a la página de contacto).
5. Ofensan personales, amenazas o insultos NO serán permitidos, que ofendan a la integridad de la persona.