是否可以从VB6应用程序中Shell Java GUI应用程序?

是否可以从VB6应用程序中Shell Java GUI应用程序?,java,swing,shell,vb6,64-bit,Java,Swing,Shell,Vb6,64 Bit,我有一个全新的Java Swing应用程序,我使用Launch4J将它包装在一个.EXE中(出于图标原因,没有其他原因)。现在,我被指示向这个非常古老的VB6遗留应用程序添加功能,单击一个按钮,它将启动新的Java应用程序。我认为这不起作用的唯一原因是,我正在使用的JRE是64位的,而我正在使用的vb6应用程序显然不起作用,而且它们玩得不好 我的理解是,它应该简单到: Shell """" & PATH_TO_FILE & """" 但这不起作用 以下是我迄今为止所尝试的: S

我有一个全新的Java Swing应用程序,我使用Launch4J将它包装在一个.EXE中(出于图标原因,没有其他原因)。现在,我被指示向这个非常古老的VB6遗留应用程序添加功能,单击一个按钮,它将启动新的Java应用程序。我认为这不起作用的唯一原因是,我正在使用的JRE是64位的,而我正在使用的vb6应用程序显然不起作用,而且它们玩得不好

我的理解是,它应该简单到:

Shell """" & PATH_TO_FILE & """"
但这不起作用

以下是我迄今为止所尝试的:

Shell """" & App.path & "\JR3GUI.exe""" 'Path to exe directly.'
Shell "javaw -jar """ & App.path & "\JR3GUI.jar""" 'Try to execute the .jar directly'
Shell """" & App.path & "\JR3GUI.bat""" 'Batch file with the following:'

    @ECHO OFF
    start javaw -jar JR3GUI.jar
    javaw -jar JR3GUI.jar
    start JR3GUI.exe
    JR3GUI.exe

ShellExecute 0, """" & App.Path & "\JR3GUI.exe""", "", "", 1 'ShellExecute the .exe'
ShellExecute 0, "javaw", "-jar """ & App.Path & "\JR3GUI.jar""", "", 1 'ShellExecute to run the .jar directly'
ShellExecute 0, """" & App.Path & "\JR3GUI.bat""", "", "", 1 'ShellExecute the batch file.'
这些都不管用,我也不知道为什么

对于
ShellExecute
,我正在使用一个预先存在的API实现,但我确信它是有效的,因为它适用于他们以前使用的东西。 我运行的是64位Windows 7,VB6应用程序是在虚拟XP环境中编译的


我做错了什么

我们终于解决了这个问题。我不知道到底是什么问题,但我们必须创建一个批处理文件来终止应用程序,然后运行指向.jar文件的.exe

结果是这样的:

Shell """" & App.path & "\JR3GUI.bat"""
在蝙蝠里

taskkill /f /im "FILENAME.exe"
start JR3GUI.exe

这是唯一有效的方法。

如果您提供java.exe二进制文件的完整路径,它是否与
java-jar…
一起工作?否。我收到一条关于空值的错误消息。它是一个exe,您应该运行exe。是的,如果VB6应用程序为32位,则需要使用32位。是否考虑共享错误消息?它实际上可能包含与解决问题相关的信息…当对程序进行炮击时,比特率是非常重要的。所以
shell“c:\somefolder\mycompiledjar.exe”
。如果路径中有空格
shell chr(34)和“c:\somefolder\mycompiledjar.exe”&chr(34)