使用UseShellExecute启动java

时间:2013-08-12 01:27:37

标签: c# java windows batch-file

找出为什么有些人可以运行我的应用程序(这是一个Minecraft启动程序)时遇到一些麻烦,它会创建一个.bat文件并使用UseShellExecute运行它。不确定它是否因为UAC废话或其他原因。

对我来说,我可以把exe放在任何文件夹中,它会起作用,就像它需要在程序文件中一样?我没有为它安装任何安装程序。

它可以使用系统java或者便携式java程序调整文件夹路径等...然后使用程序设置创建bat文件..然后在文件制作完成后运行....如

Process Launchit = new Process();

     try
        {
            Launchit.StartInfo.UseShellExecute = false;
            Launchit.StartInfo.FileName = exePath + "\\Launcher.bat";
            Launchit.StartInfo.CreateNoWindow = true;
            Launchit.Start();
        }
    catch (Exception exx)
        {
            MessageBox.Show(exx.Message);
        }

在Launcher.bat中这样的例子......

"java" -Xms524M -Xmx1000M -jar "blahblah.jar"

它适用于我,但对于一些它什么也没做..即使他们尝试运行.bat文件它不起作用,只是打开和关闭,试图找出为什么有问题。他们确实安装了java。

有什么方法我可以打开cmd.exe让它转到bat文件的目录并运行它,只是这样他们可以看到命令控制台中的错误是什么?

2 个答案:

答案 0 :(得分:0)

使用cmd.exe参数和批处理文件路径作为参数运行/K。请查看cmd.exe /?了解详情。

答案 1 :(得分:0)

omg ..所以问题一直是我的发射器没有封装""文件夹路径..所以有些人把exe放在一个有空格的文件夹中就会运行它,而其他人把它放在没有空格的文件夹中就可以了。

所以没有必要做那个cmd.exe的事情,虽然这样做了。