Foros del Web » Programación para mayores de 30 ;) » .NET »

[VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configuración

Estas en el tema de [VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configuración en el foro de .NET en Foros del Web. Miren tengo un problema al ejecutar cualquier programa con la función shell. Si por ejemplo yo tengo un programa en C:\Ejemplo\MiPrograma.exe y tiene un .ini ...
  #1 (permalink)  
Antiguo 13/07/2009, 14:50
 
Fecha de Ingreso: noviembre-2007
Mensajes: 141
Antigüedad: 16 años, 5 meses
Puntos: 2
[VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configuración

Miren tengo un problema al ejecutar cualquier programa con la función shell.
Si por ejemplo yo tengo un programa en C:\Ejemplo\MiPrograma.exe
y tiene un .ini en la raiz del programa ej: C:\Ejemplo\Config.ini
Si yo ejecuto desde mi programa que esta situado en la raíz de C:\
MiPrograma.exe en vez de buscar el Config.ini en la carpeta C:\Ejemplo\ lo busca en la raíz C:\ que es desde donde lo he llamado.

Hay alguna forma de llamar a estos programas sin que varíe la ruta de acceso a la que buscan dichos archivos?

Gracias de antemano.
  #2 (permalink)  
Antiguo 13/07/2009, 15:08
Avatar de maycol_alvarez  
Fecha de Ingreso: julio-2009
Mensajes: 31
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configur

Realmente no esta clara tu pregunta, si te refieres a las rutas relativas, la funcion start las soporta:


C#: System.Diagnostics.Process.Start("carpeta/programa.exe");

Start buscara dentro del directorio "carpeta" a programa.exe lo que da como resultado una ruta relativa.

La función shell creo (no estoy seguro) que es exclusiva de VB, pero segun el CLR de código administrado debes utilizar System.Diagnostics.Process.Start para ejecutar otros procesos, incluso puedes pasarle parámetros a la aplicación en la 2da sobrecarga del método
  #3 (permalink)  
Antiguo 13/07/2009, 15:13
 
Fecha de Ingreso: noviembre-2007
Mensajes: 141
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: [VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configur

Me ha ido bien para abrir el proceso con sus rutas relativas exactamente era eso lo que necesitaba.

Ahora mi otra pregunta es si se puede conecer el estado del proceso por ejemplo, en un timer de intervalo 300000 (5 min), compruebe si X proceso esta abierto si lo esta pss tira un mensaje si no lanza otro.
hay alguna libereria o funcion que haga esto?
  #4 (permalink)  
Antiguo 14/07/2009, 06:49
Avatar de maycol_alvarez  
Fecha de Ingreso: julio-2009
Mensajes: 31
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: [VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configur

Claro que sí, el método te devuelve un System.Diagnostic.Process en el cual puedes utilizar el delegado exited para ejecutar otro código cuando se cierre la aplicación:

Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace p2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private System.Diagnostics.Process proceso;
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
               proceso=  System.Diagnostics.Process.Start("carpeta/p01.exe");
               proceso.Exited += new EventHandler(proceso_Exited);
               

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }



        void proceso_Exited(object sender, EventArgs e)
        {
            MessageBox.Show("Se ha cerrado el programa");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show(proceso.HasExited.ToString());
        }
    }
}
el único inconveniente es que el evento no se lanza automáticamente sino hasta que hagas referencia a cualquier miembro de la instancia del Process, por lo que podrías crear un thread en donde llames a Process.HasExited para comprobar si se ha finalizado el proceso.

Última edición por maycol_alvarez; 14/07/2009 a las 08:22
  #5 (permalink)  
Antiguo 14/07/2009, 09:06
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: [VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configur

Cita:
Iniciado por ErCaZa Ver Mensaje
Me ha ido bien para abrir el proceso con sus rutas relativas exactamente era eso lo que necesitaba.

Ahora mi otra pregunta es si se puede conecer el estado del proceso por ejemplo, en un timer de intervalo 300000 (5 min), compruebe si X proceso esta abierto si lo esta pss tira un mensaje si no lanza otro.
hay alguna libereria o funcion que haga esto?
O puedes esperar hasta que el proceso termine:

proc.Wait For Exit()
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #6 (permalink)  
Antiguo 16/07/2009, 15:29
 
Fecha de Ingreso: noviembre-2007
Mensajes: 141
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: [VB .NET] {HELP} Como ejecutar una aplicación con sus archivos de configur

Me han ido bien todos los ejemplo, supongo que debe tambien una forma para detectar si ese proceso ya esta iniciado no?, puedo cambiar el estado de la ventana? minimizar, expandir, ... Y ocultar la ventana?

Gracias a todos :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:06.