VB6+;chDir命令不更改目录

VB6+;chDir命令不更改目录,vb6,Vb6,请指教 我编译了以下VB6代码(作为-->文件-->make project.exe) 但当我运行它时,我得到一个非常奇怪的东西(我赢得了XP机器) 尽管我定义要运行这一行: "java -jar run.jar" 在 C:\Program Files\APP\SW_TOP\Java by chDir msgBox打印差异路径: D:\Documents and Settings\Eytan\Desktop 请告诉我为什么 为什么chDir不在我的VB6代码中更改

请指教

我编译了以下VB6代码(作为-->文件-->make project.exe)

但当我运行它时,我得到一个非常奇怪的东西(我赢得了XP机器)

尽管我定义要运行这一行:

  "java  -jar  run.jar" 

    C:\Program Files\APP\SW_TOP\Java by chDir
msgBox打印差异路径:

    D:\Documents and Settings\Eytan\Desktop
请告诉我为什么

为什么chDir不在我的VB6代码中更改目录?怎么了

VB6代码:

  Private Sub Command_Click()
  ChDir ("C:\Program Files\APP\SW_TOP\Java ")
  Shell Environ("COMSPEC") & " /c  java  -jar  run.jar", vbNormalFocus

  MsgBox App.Path

  End Sub
如果有其他方法可以运行下的“java-jarrun.jar”,请给出建议

每个驱动器上都可以有不同的“当前目录”。因此,在调用更改C:驱动器上的当前目录时,它不会将当前驱动器从D:更改为C:。要切换当前驱动器,请执行以下步骤:

ChDrive "C:"
ChDir "C:\Program Files\APP\SW_TOP\Java "

您的问题主体询问为什么
MsgBox App.Path
不显示
C:\Program Files\App\SW\u TOP\Java
。原因是App.Path包含程序的位置,而不是当前工作目录

发件人:

对于App对象,Path指定project.VBP文件的路径 从开发环境或 作为可执行文件运行应用程序时.exe文件的路径 文件


请不要用VB.NET标记VB6问题。它们是非常不同的技术。Shell继承了自己的环境,包括当前目录,而不包括运行EXE的环境。您可以尝试剥离到一个bat文件,该文件将CD刻录到您想要的路径,然后运行您的文件。顺便说一下,App.Path总是返回EXE的路径,而不是当前目录。此外,这不是VBA,而是VB6,因为VBA不允许您创建独立的可执行文件。+1。我在你的答案中编辑了一些VB6文档的链接。
ChDrive "C:"
ChDir "C:\Program Files\APP\SW_TOP\Java "