Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > Запуск и остановка внешнего BAT файла |
Автор: XPyCT 11.9.2008, 11:31 | ||||||||
всем участникам форума привет! есть Java Эмулятор игрового сервера! имя ему Linеage запуск сервера происходит путем запуска по очереди двух батников 1. SartLoginserve.bat 2. StartGameserver.bat содержимое SartLoginserve.bat
пытаюсь программно запустить этот логин сервер таким макаром
код на остановку
вот что он мне выдает
если запускать сервер в ручную тогда все проходит нормально если кто знает как решить эту проблему - прошу помощи за содействие отдельное спс mrBroks вопрос пока открыт |
Автор: HappyLife 11.9.2008, 12:50 |
XPyCT, А ты в качества файла в CreateProcess указываешь bat файл? Попробуй указывать CMD, а вот в качества параметра указать BAT. |
Автор: XPyCT 11.9.2008, 13:17 | ||||
не не помогло! так запускае cmd окно!
а так вообще не запускает просто молчит и все
|
Автор: 586 11.9.2008, 15:05 | ||
тестируй
|
Автор: XPyCT 11.9.2008, 15:26 | ||||
586 вот что в окне выдало
вот так еще сделал
тоже самое |
Автор: mrbrooks 11.9.2008, 15:28 |
586, комрад пути видимо идут с \\ ![]() |
Автор: XPyCT 11.9.2008, 15:57 | ||
вобщем решил вот так в массив чар не нужно писать путь полный
всем спс! тема закрыта соответственно в репу |
Автор: Alca 11.9.2008, 16:39 | ||
1. Что возвращает GetLastError()? 2. А если батник лежит в другом каталоге? 3. Если в пути встречаются пробелы то надо брать в ковычки:
|
Автор: XPyCT 11.9.2008, 18:50 | ||||
вот именно так и не работает char cmd[] = "cmd.exe /c \"D://server foder//kamael//login//startLoginServer.bat\""; а так работает char cmd[] = "cmd.exe /c startLoginServer.bat"; |
Автор: XPyCT 11.9.2008, 19:55 | ||
блин вот поторопился радоватся! как теперь это закрыть- остановить? этот код на вырубание уже не пашет
|
Автор: 586 11.9.2008, 21:05 | ||||||
И с '/' может работать. Просто я оставил "стилистику" автора.
XPyCT, нужно ставить обратные слэши - char cmd[] = "cmd.exe /c \"D:\\server foder\\kamael\\login\\startLoginServer.bat\""; Твой путь хоть и рабочий, но не правильный.
Возможно, дескриптор был закрыт функцией CloseHandle. Вызывай CloseHandle после TerminateProcess а не перед. PS: TerminateProcess - зло. Я бы задумался о других вариантах. К тому же, процесс java.exe не завершится. |
Автор: XPyCT 12.9.2008, 08:57 |
586! плз покажи пример как закрыть вообще уже башка суппер в квадрате ))) и день и ночь! с меня 100гр и пончик(в виде репы) ![]() |
Автор: mrbrooks 12.9.2008, 11:06 | ||
XPyCT,
|
Автор: XPyCT 12.9.2008, 11:41 | ||||
не работает так просто мельком проскакивает и все mrbrooks по поводу закрытия пишет
|
Автор: XPyCT 12.9.2008, 13:28 | ||
в общем вопрос с закрытием решил потем поиска ))) за основу взял этот код по этому адресу http://www.sysman.ru/index.php?showtopic=5820 вот сам код
саму функцию я перенес в отдельный заголовочный файл а закрываю путем отбращения к ней Kill(s.c_str()); всем спс вот теперь тема закрыта |
Автор: Alca 12.9.2008, 23:30 |
... |
Автор: XPyCT 13.9.2008, 08:07 | ||
не понял вас! что означает дел? что удалить что поправить |