2014-01-28 4 views
2

Пожалуйста, советыVB6 + команда Chdir не изменяет каталог

Я составил следующий код VB6 (как -> Файл -> сделать project.exe)

Но когда я запускаю его я получаю очень странная вещь (у меня есть машина WIN 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 -jar run.jar" под

C:\Program Files\APP\SW_TOP\Java 
+1

Пожалуйста, не указывайте вопросы VB6 с помощью VB.NET. Это очень разные технологии. –

+1

Shell наследует собственную среду, включая текущий каталог, кроме того, что работает с EXE. Вы можете попробовать обстреливать файл летучей мыши, чтобы компакт-диски соответствовали желаемому пути, а затем запускали ваш файл. И, кстати, App.Path всегда будет возвращать путь к вашему EXE, а не к текущему каталогу. –

+1

Кроме того, это не VBA, а VB6, поскольку VBA не позволяет создавать автономные исполняемые файлы. –

ответ

4

Вы можете иметь различный «ток каталог "на каждом диске. Итак, пока ваш звонок ChDir изменяет ваш текущий каталог на диске C: он не изменяет ваш текущий диск с D: на C :. Чтобы переключить текущий диск, используйте ChDrive процедуру:

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

+1. Я взял на себя смелость редактировать некоторые ссылки на документы VB6 в свой ответ. – MarkJ

1

Тело ваш вопрос спрашивает, почему MsgBox App.Path не показывает C:\Program Files\APP\SW_TOP\Java. Причина в том, что App.Path имеет местоположение вашей программы, а не текущий рабочий каталог.

От the documentation:

Для объекта App, Path указует путь к файлу проект .VBP при запуске приложения из среды разработки или пути исполняемого файла при запуске приложения в качестве исполняемого файла .

Смежные вопросы