Hola.
1. ¿Qué se supone que tiene que ver tu duda con el lenguaje Visual Basic?. Las preguntas sobre C# van en el subforo de Programación .NET Framework
2. El concepto de declarar una función consiste en el propósito de devolver un valor específico al finalizar el bloque de instrucciones de dicha función, por ende, una función no parece ser aplicable ni necesaria en tu caso, ya que tan solo parece que necesitas usar un método-controlador del evento Click de un botón, e iniciar un tipo de archivo executable.
3. En el código Batch-script que has mostrado, estás declarando una variable que tiene el mismo nombre que una de las variables de entorno: %APPDATA%, y por ende, estás sustituyendo el valor de la variable de entorno %APPDATA% durante el tiempo de vida de la instancia de la CMD donde corra tu script. Hacer ese tipo de cosas va contra las guías de diseño de la programación Batch.
4. De por si, esas dos lineas de código Batch que has mostrado no tienen relación ni sentido entre si, puesto que declaras la variable APPDATA y no la utilizas para nada, así que no sabemos cual es tu propósito al hacer eso.
De todas formas, te muestro dos ejemplos:
Equivalente en C# a declarar una variable y asignarle como valor el directorio de trabajo actual:
Equivalente en C# a iniciar un tipo de archivo executable a través de Shell-Execute:
Como puedes ver en el ejemplo de arriba, para iniciar un tipo de archivo executable puedes usar la clase System.Diagostics.Process. Si en lugar de la consola de java tu intención es ejecutar directamente ese archivo .jar, entonces no te olvides de activar la propiedad Process.StartInfo.UseShellExecute.
Saludos!
1. ¿Qué se supone que tiene que ver tu duda con el lenguaje Visual Basic?. Las preguntas sobre C# van en el subforo de Programación .NET Framework
2. El concepto de declarar una función consiste en el propósito de devolver un valor específico al finalizar el bloque de instrucciones de dicha función, por ende, una función no parece ser aplicable ni necesaria en tu caso, ya que tan solo parece que necesitas usar un método-controlador del evento Click de un botón, e iniciar un tipo de archivo executable.
3. En el código Batch-script que has mostrado, estás declarando una variable que tiene el mismo nombre que una de las variables de entorno: %APPDATA%, y por ende, estás sustituyendo el valor de la variable de entorno %APPDATA% durante el tiempo de vida de la instancia de la CMD donde corra tu script. Hacer ese tipo de cosas va contra las guías de diseño de la programación Batch.
4. De por si, esas dos lineas de código Batch que has mostrado no tienen relación ni sentido entre si, puesto que declaras la variable APPDATA y no la utilizas para nada, así que no sabemos cual es tu propósito al hacer eso.
De todas formas, te muestro dos ejemplos:
Equivalente en C# a declarar una variable y asignarle como valor el directorio de trabajo actual:
Código (csharp) [Seleccionar]
using System.IO;
(...)
// set APPDATA=%CD%\data
string dirpath = Path.Combine(Directory.GetCurrentDirectory(), "data");
Equivalente en C# a iniciar un tipo de archivo executable a través de Shell-Execute:
Código (csharp) [Seleccionar]
using System.Diagnostics;
using System.IO;
(...)
// bin\game.jar
using (Process p = new Process()) {
p.StartInfo.FileName = @".\bin\game.jar";
p.StartInfo.UseShellExecute = true;
p.StartInfo.WorkingDirectory = Path.GetDirectoryName(p.StartInfo.FileName);
p.Start();
}
Como puedes ver en el ejemplo de arriba, para iniciar un tipo de archivo executable puedes usar la clase System.Diagostics.Process. Si en lugar de la consola de java tu intención es ejecutar directamente ese archivo .jar, entonces no te olvides de activar la propiedad Process.StartInfo.UseShellExecute.
Saludos!