Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Shell Добавлено: 06.04.08 22:10  

Автор вопроса:  Эндрю | Web-сайт: www.пока_нет.ru | ICQ: 303-304-826 
Помогите решить проблему: я запускаю программу через Shell или ShellExecute, но она запускается не полностью: например у справочника запускается только оболочка, а база отсутствует. Если создать bat и запускать через него то всё нормально. Что мне делать?

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #1
Добавлено: 06.04.08 22:17
телепаты в отпуске. код вставляй.

Ответить

Номер ответа: 2
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #2
Добавлено: 06.04.08 22:49
после такого описания, вопросом "Что мне делать?" можно легко превратить тему во флуд с элементами офтопа=)

Ответить

Номер ответа: 3
Автор ответа:
 Harter



Вопросов: 32
Ответов: 167
 Профиль | | #3 Добавлено: 07.04.08 00:16
:) (Тм кому это ообщение пришло на E-mail, искрени извеняюсь)

P.S for P.S: флуд с элементами офтопа=) - это запросто :)

Ответить

Номер ответа: 4
Автор ответа:
 Эндрю



ICQ: 303-304-826 

Вопросов: 24
Ответов: 103
 Web-сайт: www.пока_нет.ru
 Профиль | | #4
Добавлено: 07.04.08 00:18
Вот весь код: Shell ";D:\1\sprav.exe" при этом программа запускается частично, а если написать
Shell "sprav.exe" и запускать из той папки где лежит справочник то запускается без проблем.

Ответить

Номер ответа: 5
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #5
Добавлено: 07.04.08 00:25
мб currentdirectory сбито. запускать приложения все таки лучше через апи CreateProcess или ShellExecute с указанием нужных параметров. Если должна база открыться - значит это внешний файл. значит его нада указать в параметрах командной строки. если нет - значит ситуация описана опять хреново. учимся выражать свои мысли точнее

Ответить

Номер ответа: 6
Автор ответа:
 Эндрю



ICQ: 303-304-826 

Вопросов: 24
Ответов: 103
 Web-сайт: www.пока_нет.ru
 Профиль | | #6
Добавлено: 07.04.08 00:29
ShellExecute тоже не работает, так ведут себя не все программы, только некоторые

Ответить

Номер ответа: 7
Автор ответа:
 Эндрю



ICQ: 303-304-826 

Вопросов: 24
Ответов: 103
 Web-сайт: www.пока_нет.ru
 Профиль | | #7
Добавлено: 07.04.08 00:49
У меня такая ситуация: в своей программе я сделал возможность создания ссылок на любые программы и столкнулся с такой проблемой. Есть конечно вариант создавать временный батник для каждой программы и запускать через него, но это слишком громоздко

Ответить

Номер ответа: 8
Автор ответа:
 Эндрю



ICQ: 303-304-826 

Вопросов: 24
Ответов: 103
 Web-сайт: www.пока_нет.ru
 Профиль | | #8
Добавлено: 07.04.08 01:03
и правда CurrentDirectory было сбито, спасибо Ra$cal :)

Ответить

Номер ответа: 9
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #9
Добавлено: 07.04.08 01:06
хм. если программы запускать руками, мышкой, прямо из папки, не через какие либо ярлыки, и они будут работать - то будут работать они и при запуске через ShellExecute, CreateProcess. если же программы ты запускаешь руками через ярлыки, а в своей тулзе запускаешь ехе - то вполне вероятно ты теряешь какие то параметры, передавамые в командной строке. просто так. но видимо копать нада в сторону currentdirectory.

простой эксперимент подтвердил выводы. при запуске через ShellExecute и передаче Directory = 0, GetCurrentDirectory возвращает папку той программы, которая запустила целевую. Поэтому нужно помимо пути к файлу указывать параметр Вшкусещкнб равный пути к папке, в которой лежит запускаемый exe

Ответить

Номер ответа: 10
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #10
Добавлено: 07.04.08 01:07
заставил напрячься и написать 2 программы =)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам