Страница: 1 |
Страница: 1 |
Вопрос: Call Shell в VB или ..........
Добавлено: 19.10.04 11:34
Автор вопроса: Kevin Mitnik | ICQ: 205559551
Вот столкнулся с такой проблемой с путями:
например как при нажатии кнопки запустить "Командную строку", пишем:
Private Sub Command1_Click()
Call Shell ("C:\WINDOWS\system32\cmd.exe")
End Sub
а как загрузить форму расположенную например в той же папке, т.е. например у меня такая структура каталогов:
8 класс
9 класс
10 класс
и они находятся в C:\VB\
Как сделать чтобы мне указывать путь не так:
Call Shell ("c:\vb\*.exe")
Вдруг пользователь перетащить папку, и тогда прога работать небудет.
можно как нить указывать ../../8 класс/book.exe
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #1
Добавлено: 19.10.04 11:47
If Mid$(App.Path, Len(App.Path), 1) = "\" Then
Slash = ""
Else
Slash = "\"
End If
Shell """" & App.Path & Slash & "8 класс\book.exe"""
'Лишние кавычки добавляем, если в пути есть пробелы.
Номер ответа: 2
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #2
Добавлено: 19.10.04 12:10
"Прикольно", только как это поможет, если пользователь все-таки перетащит папку неизвестно куда?
Номер ответа: 3
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #3
Добавлено: 19.10.04 12:22
Цитирую:
Я так понимаю, в той же папке, что и запускающая программа. Соответственно, App.Path - текущий путь к программе, а дальше крутим, как хотим...
Номер ответа: 4
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #4
Добавлено: 19.10.04 12:30
Панял, не ору. Но все-таки если перетащит неизвестно куда, думаю будут проблемы.
Номер ответа: 5
Автор ответа:
Kevin Mitnik
ICQ: 205559551
Вопросов: 6
Ответов: 10
Профиль | | #5
Добавлено: 19.10.04 12:55
Pashenko, не мог бы объяснить вышеуказаный код...
Номер ответа: 6
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #6
Добавлено: 19.10.04 13:04
App.Path - это путь к EXE файлу твоей программы.
Если путь оканчивается "\", оставляем его без изменений, если нет, добавляем в конце "\".
Далее дописываем путь к запускаемому файлу.
Получается что-то вроде:
c:\vb\8 класс\book.exe
Для передачи этой строки Shell'у заключаем её в кавычки, т. к. в пути содержатся пробелы (иначе Shell попытается запустить файл c:\vb\8 с параметром класс\book.exe).
Вот и всё...
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 19.10.04 20:51
А если всётаки перетащить папку... !!!!!!! я шучу шучу... Анекдот хотите?
Спрашует чукча умного чела
- Как самолёт летит?
То ему
- Та ну ты врядли поймёшь...
Чукча
- Да я почти понял, ты просто расскажи чтоб я убедился
- Хорошо, вот там размах крыльев, сила сопротивления, сила прятяжение, рабатает двигатели, разгоняет самолёт, крылья захватывают воздух, смолёт летит итп... итд... Понимаешь?
Чукча
- Та это я то понимаю, я непойму как самолёт летит
Чел
- Блин, ну смотри... (и давай там с всякими подробностями распинаться) Ну что понял?
Чукча
- Теперь Понял! хотя это я и ранше понимал, я просто непонимал как самолёт летит, да и щас непонимаю, а ты мне фигю всякую рассказываеш, зачем спрашивается?
-------------------------------------------
У вас просто что-то похожее...
Один преволит код... другой "Прикольно" но это то всё понятно, но как самолёт летит? Далее там Цитата даже... "Понял, не ору" но как же всётаки самолёт летит? )) aaaa.... я катался с вас... Ну да ладно, по теме теперь. Помойму те точки что говорят что поднятся на уровень в директориях выше можно и в путь в самом вб вставлять... Если app.path = "C:\Program Files\Proga\exe.exe" то Shell типа "..\Messenger\msmsgs.exe" должен нормально работать