使用C#问题打开Java控制台

时间:2013-01-24 13:05:27

标签: c# java process

我正在尝试打开一个运行C#

控制台的Java应用程序

我的代码:

    private void button3_Click(object sender, EventArgs e)
    {

          Process process = new Process();
          process.StartInfo.WorkingDirectory = @"C:\Program Files (x86)\Android\android-sdk\tools\";
          process.StartInfo.FileName = "monkeyrunner.bat";
          process.Start();
    }

如果我直接从它所在的文件夹中直接运行monkeyrunner.bat文件就可以了。但是,如果我尝试使用上面的方法打开它,我会收到以下错误:


Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Brad\AppData
\Local\Temp\jline_.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary1(Unknown Source)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.load0(Unknown Source)
        at java.lang.System.load(Unknown Source)
        at jline.WindowsTerminal.loadLibrary(WindowsTerminal.java:315)
        at jline.WindowsTerminal.initializeTerminal(WindowsTerminal.java:240)
        at jline.Terminal.setupTerminal(Terminal.java:75)
        at org.python.util.JLineConsole.(JLineConsole.java:69)
        at org.python.util.JLineConsole.(JLineConsole.java:53)
        at org.python.util.JLineConsole.(JLineConsole.java:49)
        at com.android.monkeyrunner.ScriptRunner.console(ScriptRunner.java:192)
        at com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.
java:73)
        at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter
.java:189)


任何人都有任何想法为什么从C#打开进程会导致问题?

如果我尝试运行Bat文件打开的Java文件,我会遇到同样的问题。

编辑:

我想我现在知道这个问题:

如果我从Windows打开CMD它作为64位控制台运行..但由于我的应用程序是在32位(使用快速)内置它加载一个32位控制台..但我看不到我可以打开64位的方式来自32位应用程序的控制台

1 个答案:

答案 0 :(得分:0)

解决方法是将应用程序编译为x86。这可以防止加载错误的cmd.exe。