2014-01-06 226 views
0

如果我尝试从.NET控制台应用程序打开记事本,它工作正常。 我做它,如下所示:从.NET控制台应用程序打开.exe应用程序

var p = new Process 
{ 
    StartInfo = 
    { 
     FileName = "c:\windows\system32\notepad.exe"; 
    } 
}; 

p.Start(); 

当我尝试打开我居然要打开应用程序,没有任何反应。如果我手动打开该应用程序,则会看到正在创建的Java进程,这意味着它是一个打包为exe文件的Java应用程序。

有关如何通过.NET打开Java EXE应用程序的任何想法?

在此先感谢

+1

嗯......那里不应该有太大的区别。你有没有尝试调整工作目录?也许有一些解压缩正在进行。 –

+0

在调试器中,探索'p.Start();'这行之后的'p'的属性。该过程可能已经开始并立即终止。在这种情况下,您会看到退出代码属性。看看这是否有助于你。 – oleksii

+0

解决了它Thorsten。我必须将工作目录设置为应用程序所在的根文件夹。你可以添加一个答案,以便我可以接受它吗?谢谢;) – Dante

回答

2

常规EXE和“经过验证”的Java应用程序之间应该没有太大区别。你有没有尝试调整工作目录?也许有一些解压缩正在进行。

0

假设您有一个名为“HelloWorld”的应用程序。然后从命令提示符(和你的代码),你将与启动它:

java HelloWorld 

现在这个会认为java是在你的路径。这是一个糟糕的假设。所以你最好用逻辑来填充路径java,或者硬编码它。

如果您计划通过此软件,我不建议硬编码路径。这绝对不是一件确定的事情......

+0

这是一个.exe应用程序,不是jar或其他东西。我可以打开它作为任何其他应用程序(双击图标,从命令提示符调用,...),唯一不起作用的地方是从.NET调用。 – Dante

相关问题