Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kaiserdj

#1
Buenas tengo el siguiente bat, que ejecuto directamente y funciona sin problemas:
FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion') DO set CurVer=%%B
FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%CurVer%" /v JavaHome') DO set JAVA_HOME=%%B
echo JAVA_HOME: %JAVA_HOME%
SET JAVA=%JAVA_HOME%\bin\javaw.exe
echo JAVA: %JAVA%

El problema surge cuando lo ejecuto desde un programa en c#, la funcion es la siguiente:
           string bat = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "start.bat");

           string Xmx = this.textBox1.Text;
           string Xmn = this.textBox2.Text;
           string NAME = this.textBox3.Text;

           Process proc = null;
           proc = new Process();

           proc.StartInfo.FileName = bat;
           proc.StartInfo.Arguments = String.Format("{0} {1} {2}", Xmx, Xmn, NAME);
           proc.StartInfo.UseShellExecute = false;
           proc.StartInfo.CreateNoWindow = true;
           proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(proc.StartInfo.FileName);
           proc.StartInfo.RedirectStandardOutput = true;
           proc.StartInfo.RedirectStandardError = true;
           proc.Start();

           string procOutput = proc.StandardOutput.ReadToEnd();
           string procError = proc.StandardError.ReadToEnd();

           TextWriter outputlog = new StreamWriter(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "instancias\\pruebas\\.minecraft\\log.txt"));
           outputlog.Write(procOutput);
           outputlog.Close();

           TextWriter outputerror = new StreamWriter(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "instancias\\pruebas\\.minecraft\\error.txt"));
           outputerror.Write(procError);
           outputerror.Close();

El log que proporciona al ejecutar desde el programa en c#:
SET BASE=.\
FOR /F "skip=2 tokens=2*" %A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion') DO set CurVer=%B
FOR /F "skip=2 tokens=2*" %A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\" /v JavaHome') DO set JAVA_HOME=%B
echo JAVA_HOME:  
JAVA_HOME:
SET JAVA=\bin\javaw.exe
JAVA: \bin\javaw.exe

No se a que se debe que dejen de funcionar los FOR cuando este se ejecuta desde un programa en c#

El problema es que no se guarda la variable del directorio donde esta java instalado

Muchas gracias y un saludo
#2
Buenos días,
Soy nuevo en c# y visual studio,
lo que quiero hacer es que en el form1 muestre un user control, y cuando le de a un boton dentro ese user control, haga .BringToFront(); de otro user control dentro del form1, no se si me entiendes.

Por ejemplo:
tengo en el form1 el user control "servers",
al dar a un boton que esta dentro de "servers"
ejecute "noticias1.BringToFront();"
para que el user control "noticias1"
se ponga encima de todo en el form1

Lo siento si es lioso, muchas gracias y un saludo
#3
.NET (C#, VB.NET, ASP) / Re: set APPDATA en C#
6 Febrero 2018, 22:39 PM
Cita de: Eleкtro en  6 Febrero 2018, 22:09 PM
Por supuesto, el ejemplo que mostré solo era para declarar una variable normal y corriente, no una variable de entorno. No se entendía muy bien lo que querías hacer.

Para crear o modificar una variable de entorno almacenada en el proceso actual, puedes utilizar el método System.Environment.SetEnvironmentVariable().

Código (csharp) [Seleccionar]
string dirpath = Path.Combine(Directory.GetCurrentDirectory(), "data");
Environment.SetEnvironmentVariable("APPDATA", dirpath)

string envValue = Environment.GetEnvironmentVariable("APPDATA");
Console.WriteLine(envValue);


Ten en cuenta que la modificación solo afecta a la instancia del proceso actual, y a los procesos hijos de este, igual que ocurre con la CMD.

Saludos!
Eres un genio, muchas gracias
Era justo lo que necesitaba <3 ;-)
#4
.NET (C#, VB.NET, ASP) / Re: set APPDATA en C#
6 Febrero 2018, 21:17 PM
Mi intención es que el .jar en vez de ir a "C:\Users\kaiserdj\AppData\" cuando lo necesite vaya a la carpeta "data" porque cree que esa carpeta es el path de %APPDATA%.

No se si me entenderás, me resulta difícil de explicar. :-[
Muchas gracias por la ayuda y un saludo
#5
.NET (C#, VB.NET, ASP) / Re: set APPDATA en C#
6 Febrero 2018, 21:09 PM
Cita de: Eleкtro en  6 Febrero 2018, 16:52 PM
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:
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!
Muchas gracias por contestar lo primero,
set APPDATA=%CD%\data
me sirve en el bat para que al ejecutar el .jar tome la carpeta "data" como la carpeta appdata, en vez de la propia carpeta %APPDATA% que viene por defecto en windows

He probado el código que me diste, el problema es que no coge como PATH de APPDATA la carpeta "data" si no la carpeta "AppData" por defecto de windows

Un saludo
#6
.NET (C#, VB.NET, ASP) / set APPDATA en C#
6 Febrero 2018, 12:19 PM
Buenos días,
Me gustaria pasar un launcher bat a un launcher en c# con Visual Studio, el problema es que el el launcher bat es asi:

set APPDATA=%CD%\data
bin\game.jar


¿Como seria eso en una función para que al dar a un botón se abra el jar con el custom appdata?
Muchas gracias y un saludo
#7
Cita de: #!drvy en 30 Abril 2017, 14:48 PM
No esta protegido. Esta minimificado.

https://www.csgofood.com/js/bundle.js

Saludos
Okey muchas gracias
¿Y como se convierte a texto plano?
#8
Hola, me gustaría saber que método han usado para proteger el código de la web: https://www.csgofood.com/
Muchas gracias y un saludo
#9
Desarrollo Web / Re: Decodificar unescape
7 Abril 2017, 16:20 PM
Cita de: engel lex en  7 Abril 2017, 16:10 PM
simplemente pega ese codigo en tu consola de jscript y cambia document.write por console.log

Muchas gracias  ;D
#10
Buenos dias,
Alguien me puede ayudar a descodificar este unescape: https://pastebin.com/raw/dNtN5YZx

Código (html5) [Seleccionar]
<html>
<head>
</head>
<body>
<script type="text/javascript">
function cd75379(s) {
var r = "";
var tmp = s.split("7664911");
s = unescape(tmp[0]);
k = unescape(tmp[1] + "649889");
for( var i = 0; i < s.length; i++) {
r += String.fromCharCode((parseInt(k.charAt(i%k.length))^s.charCodeAt(i))+-2);
}
return r;

}
document.write(cd75379('%3b%37%6e%65%6a%66%47%09%08%06%04%36%7c%73%7d%6a%65%49%0f%0b%36%6a%6a%73%6f%7d%31%24%79%0d%05%22%25%24%26%7b%79%7d%62%73%6d%75%72%35%22%64%62%71%78%66%7f%7f%62%3b%26%0d%05%22%25%24%26%67%63%78%6e%2a%6c%63%69%60%6a%71%3a%26%6c%6f%78%7f%62%72%39%0d%05%22%25%24%26%67%6f%60%7f%39%24%61%65%79%76%60%72%39%06%04%2a%2b%27%24%70%69%60%6a%71%3a%26%6c%6f%78%7f%62%72%39%0d%05%22%25%24%26%66%6b%7c%60%6e%76%38%20%3b%22%64%71%72%78%35%07%05%7a%09%08%20%2b%22%25%38%35%7c%7e%73%67%62%46%0b%0e%37%64%76%60%7f%49%07%04%37%63%6d%7c%20%6c%6e%64%73%71%36%2c%65%62%6b%68%2b%6a%6e%67%61%22%44%37%6e%63%71%45%38%71%70%6a%70%25%63%6a%6a%7d%7d%36%21%74%6a%61%72%67%73%24%72%2d%48%36%38%70%74%67%72%49%3e%72%74%67%79%2a%6d%67%66%73%71%3d%2d%79%60%65%76%78%78%7d%2d%45%38%6f%6d%60%22%6d%61%6f%60%62%7e%36%21%32%36%26%38%40%39%6d%6b%60%2a%71%62%63%70%6e%3d%2d%35%35%22%26%63%6f%63%60%6f%70%3b%26%3d%38%23%24%71%7d%6d%37%2d%34%69%63%6d%6e%75%36%35%72%6a%7a%39%66%62%60%6f%61%38%6b%68%65%6d%6e%7d%39%63%62%65%62%77%63%71%71%36%76%79%61%2c%38%45%38%35%77%7b%63%77%46%3a%7c%7a%6b%79%27%63%6a%61%7c%75%38%22%76%67%6b%73%6e%71%24%61%74%2d%40%39%37%71%7b%6b%78%49%3b%37%62%69%71%40%39%37%62%62%70%48%06%09%38%62%69%71%22%62%68%67%7c%7d%37%2d%60%72%63%61%7f%67%28%69%75%71%6f%2c%49%0a%0a%0f%3c%6f%6b%7f%24%61%67%6b%7d%7c%3a%22%6c%76%6e%67%62%6c%6f%67%6e%2c%49%0a%0a%0b%0e%37%63%25%6c%70%6e%60%37%2d%6f%70%72%70%35%31%36%71%74%62%7e%73%7c%72%63%69%77%39%65%76%69%35%6c%62%63%67%63%37%20%20%7f%63%73%6f%63%7f%37%2c%68%61%68%67%72%64%24%47%38%76%2b%6d%66%6a%70%73%3b%26%61%71%77%70%71%62%74%6f%2b%75%65%7c%66%6a%74%28%62%70%6a%78%6e%2d%45%2e%63%72%7c%72%3a%4e%50%4e%4f%2a%47%54%48%4a%49%4e%55%25%2c%4f%20%70%6f%2b%6c%77%72%20%72%71%70%72%26%70%6b%63%61%72%24%6e%65%7d%67%2c%38%35%7b%48%36%38%66%46%0b%0e%06%0c%0c%38%35%6f%63%70%49%27%24%0b%0e%2b%0f%0b%24%26%37%6e%63%71%27%63%6a%61%7c%75%38%22%6a%78%6b%6e%6e%71%45%70%65%6a%24%47%09%08%06%04%2a%2b%27%24%26%20%2b%22%39%60%6f%71%2a%6d%67%66%73%71%3d%2d%6e%76%65%62%6e%7c%2c%49%3b%37%62%69%71%40%08%0a%0b%05%2a%2a%2b%27%38%35%64%62%78%47%09%08%06%04%2a%2b%27%24%3a%64%62%78%25%63%6a%6a%7d%7d%36%21%74%6b%65%66%67%23%46%0b%05%07%04%2b%27%24%26%20%2b%22%25%38%7c%62%6e%6f%78%27%6d%62%3d%2d%65%6d%65%7f%64%79%70%7c%68%7d%53%72%62%76%7c%53%73%6c%65%7d%2d%27%65%73%74%78%72%69%65%7f%36%2c%6b%7e%73%77%76%6c%6a%7b%23%24%6a%78%79%7a%36%21%68%75%73%7b%24%47%09%08%06%04%2a%2b%27%24%26%20%2b%22%25%24%26%2b%36%7d%78%72%72%61%65%2b%75%73%63%3b%2d%70%63%6f%34%65%6b%7a%39%6f%75%30%20%2b%7e%73%7b%62%39%20%7a%62%66%60%77%35%66%7a%3e%2d%45%38%35%77%78%77%73%63%63%49%07%04%06%09%24%26%20%2b%22%25%24%26%37%39%70%62%63%61%75%42%06%0c%08%0a%26%2b%2a%2a%37%34%60%6f%7a%49%0f%0b%09%08%2b%2a%07%05%27%24%26%20%37%66%6c%7e%26%6c%66%6b%7c%70%39%20%70%66%67%68%61%20%49%36%39%6f%6e%7e%44%0d%05%0f%0b%24%26%2b%2a%36%7c%62%63%72%69%78%70%25%63%6a%6a%7d%7d%36%21%69%67%69%79%24%47%09%08%06%04%2a%2b%3b%60%6f%7a%2b%65%69%65%71%7c%37%2c%7e%75%6d%72%79%3d%22%7e%77%7d%2b%60%6b%6f%62%4d%74%4c%6e%68%71%22%26%6f%6b%7e%6a%2a%7f%75%7b%26%66%60%68%67%72%37%2c%3f%70%22%44%3c%62%6f%6e%24%71%7d%6d%37%2d%6e%69%67%6b%6e%75%36%6c%67%6c%65%7d%38%72%76%6f%74%72%75%70%63%69%7c%7d%38%7b%75%6f%20%42%37%31%61%6d%7c%49%36%39%7c%62%63%72%69%78%70%47%09%08%06%04%2a%2b%27%24%3a%77%6e%65%71%6d%75%79%2a%6d%67%66%73%71%3d%2d%75%76%63%6f%6a%66%2a%70%74%7f%26%6a%6a%66%60%4d%74%5d%63%61%63%73%22%26%64%6a%76%64%29%7d%78%71%27%6f%62%68%67%79%36%24%34%73%20%2b%6e%6b%7f%66%29%7d%73%70%2f%61%71%70%6a%7e%63%78%75%39%20%34%7c%24%47%09%08%06%04%2a%2b%27%24%26%20%2b%22%39%71%6a%2b%6d%66%6a%70%73%3b%26%67%6b%77%22%44%2b%07%04%06%09%24%26%20%2b%22%25%24%26%2b%2a%2a%2b%3b%68%6f%20%6c%6e%64%73%71%36%2c%66%62%75%6b%71%26%49%3e%64%24%6e%7d%6f%60%36%21%6c%72%74%7b%75%3b%37%35%71%65%38%6c%74%69%35%68%71%6a%60%68%6f%7f%6f%2c%2b%73%65%70%6b%6e%76%38%22%65%6d%66%6b%79%68%22%44%3c%62%22%62%68%67%7c%7d%37%2d%6d%65%26%6a%6a%2f%7f%6b%20%2b%6b%7c%62%66%29%6e%69%6f%66%60%76%3b%2d%7e%7c%7e%62%22%44%3c%38%6b%47%38%35%6a%48%07%05%0a%0a%26%20%2b%22%25%24%26%2b%2a%2a%2b%27%38%35%6c%62%40%08%0a%0b%05%2a%2a%2b%27%24%26%20%2b%22%25%24%26%37%66%63%2b%60%68%67%77%7c%3f%23%68%6f%79%65%7d%2d%45%38%67%20%63%74%60%6e%3b%2d%62%7e%7f%77%3a%35%33%7c%76%60%65%6b%6c%79%67%66%72%76%6f%74%72%30%62%77%6b%38%63%6e%38%60%6c%67%79%64%71%7f%73%69%72%7a%71%2d%27%70%67%76%60%67%71%39%20%68%6c%66%6a%75%6b%20%42%37%6b%25%63%6a%6a%7d%7d%36%21%6e%67%20%61%63%28%73%72%6e%6b%67%2d%27%65%70%69%6a%2f%6d%6d%62%6f%6f%78%36%21%70%70%75%6e%24%47%38%35%62%48%36%38%66%46%0b%0e%06%0c%25%24%26%2b%2a%2a%2b%27%24%26%20%2b%3e%36%68%6f%49%07%04%06%09%24%26%20%2b%22%25%24%26%37%39%7f%67%45%09%08%0d%05%22%25%24%26%37%39%7d%6e%60%70%6f%73%79%40%08%0a%0b%05%2a%36%7c%62%63%72%69%78%70%25%63%6a%6a%7d%7d%36%21%69%63%64%62%63%23%46%0b%05%36%6b%2b%6f%72%63%6a%36%24%6d%70%72%7b%34%39%38%72%76%6f%74%72%75%70%63%69%7c%38%6d%78%6a%37%6b%65%6f%6b%64%37%20%49%36%6e%62%7d%24%61%6c%6a%75%72%39%20%7e%78%63%7f%7e%32%26%7b%78%79%25%6e%67%6f%6f%43%79%4b%61%6c%74%2d%22%61%65%72%6a%27%71%78%7c%29%62%65%67%63%7c%39%20%3f%7d%2c%49%3b%6d%6b%6b%2b%75%73%63%3b%2d%63%67%6a%6c%61%71%33%66%67%61%6d%67%39%7a%78%60%21%46%3a%33%6f%6b%7f%46%3a%38%6b%48%06%09%24%3a%33%7c%67%62%70%6f%78%78%487664911%35%36%34%32%39%30%37'));
</script>
</body>
</html>