Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как из VB запустить exe файл?

1.9K
22 октября 2003 года
Санчез
97 / / 22.10.2003
Вообще я файлы запускал с помощью функции:
Dummy = Shell("путь", параметр)
Но вот проблема, большие программы(типа GTA III, Mafia, Counter strike и тп.) не запускает, ругается и все. Кто знает, может можно как-нибудь по другому запускать?

зы: не в тему :D , при регистации заметил ощибку(буква Р в слове опция)) Легкий ввод vbCode?
Если вы включите эту оРцию, то на страницах создания сообщения будет выведен интерфейс простого использования vbCode.
Страницы:
1.9K
26 октября 2003 года
Санчез
97 / / 22.10.2003
to XtreamAll: Все заработало. Большое спасибо.
Я вот код резал и единственным необходимым оказалась SetCurrentDirectory. Абсолютно все остальное можно убрать и получается

в модуле:
Public Declare Function SetCurrentDirectory _
Lib "kernel32" Alias "SetCurrentDirectoryA" _
(ByVal lpPathName As String) As Long

и при вызове программы(можно использовать обычный шелл):
SetCurrentDirectory (Path)' ставить надо перед вызовом exeшника
dummy = shell(FilePath as String, параметр)

всё что писалось остального можно опустить и нормально работает без него(по крайней мере на VB, в Excel'e и тп не проверял)

ps: я вобщето еще вчера говорил что все получилось вот тока чтото я своего поста не вижу...
478
27 октября 2003 года
XtreamAll
279 / / 01.10.2003
Привет Снчез.

Твой пост был, я его видел (сейчас тоже не вижу)..
...может ты там нецензурно выразил свою радость?:D

Ну а если серьезно, то рад что смог помочь...
...и сам по ходу узнал кое-что...
...эту API вставил и в свои проги (вместо ChDir), работает верочно, и это есть хорошо...:}
239
27 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by XtreamAll
Привет Снчез.

Твой пост был, я его видел (сейчас тоже не вижу)..
...может ты там нецензурно выразил свою радость?:D

Ну а если серьезно, то рад что смог помочь...
...и сам по ходу узнал кое-что...
...эту API вставил и в свои проги (вместо ChDir), работает верочно, и это есть хорошо...:}



Честно говоря, я не помню, чтобы я мат втирал на этом форуме вообще когда-то... Разве что кефира напился, и то маловероятно %)))

Главное, что все работает! И зер гуд типа!

Массаракж, уважаемые!

5.9K
04 ноября 2003 года
unlogic
2 / / 04.11.2003
Если ты работаешь в NT тогда это все не будет работать, проверено. Я использую стандартный Shell только без возврата значений запуска:

Shell ("ПолныйПуть+ИмяФайла")

или передаю управление командной строке

Shell ("cmd /R:ПолныйПуть+ИмяCMDФайла.cmd")
Cmd-файл - текстовой файл, аналог BAT файлов доса, в него и записываю то, что нужно запустить.
239
12 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Если Вы найдете исполняемый файл, который выполняет файл *.lnk, то задача будет решена.
258
13 ноября 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Dolonet
Если Вы найдете исполняемый файл, который выполняет файл *.lnk, то задача будет решена.



Кажется я догадываюсь что это за файл такой...

239
13 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by SergeySV


Кажется я догадываюсь что это за файл такой...



%) Надеюсь, Вы имеете ввиду не Win.exe... его просто нет на NT платформе %). Я смотрел в Folder options, там он ни за кем не зарегин вроде...

О! нашел! надо было лишь в реестре покопаться секунд 20 подряд!...

rundll32.exe appwiz.cpl,NewLinkHere %1

- это создание нового ярлыка. Полезная вещь! однажды была задачка... Я думаю, если что-то тут поменять, то выйдет загрузить *.lnk файл.

Чем он нам поможет? А все предельно просто! Когда программа (игра) загружается с помощью shell, то директория, откуда она загружается, становится директорией нашей программы. То есть если поместить исполняемый сэмпл программки загрузки в ту же директорию, что и загружаемая программа, то все заработает. Понятно, что мы не можем экзэшник наплодить и поочередно загружать - это безумие! Но *.lnk файл имеет параметр - директорию загрузки - который обычно тот, где лежит исполняемый файл. Понятно, что, загружая с ярлыка, от этого путь, прописанный в нем, не изменится, а значит все загрузится нормально, ч.с.о.!

Причина вообще этого бага заключается в небольшой кривости функции shell и некоторых недостатков при разработке игр и создании в них ресурсов, которые и ориентируются на этот злополучный AppPath (по крайней мере это именно он в ВБ, можете проверить %))

Рад был помочь!

258
14 ноября 2003 года
SergeySV
1.5K / / 19.03.2003
Теперь если что, будем посылать всех сюда.
239
14 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by SergeySV
Теперь если что, будем посылать всех сюда.



%)) Если делаешь сам игру или что-то ориентируещееся на это, то лучше отрывать имя экзешника от полного пути (там вроде есть и такое свойство). У меня моментами возникали такого рода проблемы, когда я пытался открыть.

Я, кстати, глянул - это не баг функции, такое же происходит и в других местах в винде...

46K
01 января 2009 года
Vano777
1 / / 01.01.2009
Парни выручайте такая проблема))на неделю уехал к другу а брат чето видать удалил у меня на ноутбуке и теперь не один устоновочный файл(в формате EXE если неошибаюсь) не идет.Что делать?может прогу какую скачать незнаю я в этой теме 0
P.S если написал не в ту тему сори
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог