Как запустить вat файл ?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Терминатор
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 06.01.2005 (Чт) 12:57
Откуда: Москва

Как запустить вat файл ?

Сообщение Терминатор » 06.02.2006 (Пн) 21:24

Всё нимагу!!! Задалбало !!
Щя буду по клаве бить, ногами !
Это я читал.
http://bbs.vbstreets.ru/viewtopic.php?t ... hlight=bat
http://blogs.msdn.com/vbfaq/
Но мне не помогает. Примеры в Help тоже посмотрел не помогает. Итак что я имею. Батник который запускает долбаную прогу, которая больше никак не запускается, только им.
Задача >>> Запустить её ( эту долбаную прогу ) из другой проги (VB.NET 2005). Мне начинает казаться что вся проблема в том как она эта ДП (долбанная прога) запускается. Вторая проблема - надо признаться честно - в том что я ни понимаю как это работает. Третья проблема в том что у меня уже нет терпенья переделывать одно и тоже вторую неделю.
В bat файле написано
set path=Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;
protcore.exe
cbank.exe
после запуска батника открывается cmd и там пишется -
Y:\P F\BSClnt_3\EXE>set path=Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;
Y:\P F\BSClnt_3\EXE>protcore.exe
Y:\P F\BSClnt_3\EXE\cbank.exe
после чего она, эта ДП начинает работу. ( Если батник перенести в другию папку, или попытать запустить Start > Run, есно ничего не запуститься) Может мне не париться с батником, запустить через cmd ? Но как? Обязательное условие > из своего приложения.
Hasta la vista, baby!

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 06.02.2006 (Пн) 23:55


Терминатор
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 06.01.2005 (Чт) 12:57
Откуда: Москва

Сообщение Терминатор » 07.02.2006 (Вт) 10:00

Ну, для меня этот форум, так сказать кладовая. Все темы так или иначе замеченные по открытию другого приложения я просмотрел через поиск. Варианты ShellExecute попробовал в первую очередь, ведь просто Shell батник не возмёт. Но не тут-то было. Мне кажется, ответ очень прост, но когда не знаешь...
ShellExecute - Вроде бы, запускает батник, судя по тому что cmd открывается и даже что-то там пишется. НО ДП, НЕ ЗАПУСКАЕТСЯ. Я попробовал разные варианты, плюнул на честь и ордена, и пошёл методом тыка... Лишбы работало...
Но нет.
Hasta la vista, baby!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.02.2006 (Вт) 10:35

:roll: :roll:

Синхронно?
Код: Выделить всё
    Dim i As New Diagnostics.ProcessStartInfo

    i.EnvironmentVariables("path") = "Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;"
    i.FileName = "protcore.exe"
    i.UseShellExecute = False

    Process.Start(i).WaitForExit()

    i.FileName = "cbank.exe"
    Process.Start(i)


Асинхронно?
Код: Выделить всё
    Dim i As New Diagnostics.ProcessStartInfo

    i.EnvironmentVariables("path") = "Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;"
    i.FileName = "protcore.exe"
    i.UseShellExecute = False

    Process.Start(i)

    i.FileName = "cbank.exe"
    Process.Start(i)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Терминатор
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 06.01.2005 (Чт) 12:57
Откуда: Москва

Сообщение Терминатор » 07.02.2006 (Вт) 17:17

:( Файл не найден. :(

:(
Серега, дорогой, может я слижком перенапрягся, может решение совсем рядом, раз при запуске стандартными методами файл находится, cmd открывается (но не видно пишится ли то что нужно), и наоборот, при твоём варианте файл не находиться, cmd не открывается, ДП не запускается, а приложение где размещён этот код зависает.?
Мне синхронное и асинхронное не знакомо, надеюсь ты всё правильно написал. Файлы находяться по адресам
сам батник и второй файл и третий файл - их имена cbank.bat и cbank.exe и protcore.exe
Y:\P F\BSClnt_3\EXE

ТАК ПОЧЕМУ это ДП не запускается.???!!!
Ведь через батник всё нормально, ведь так в программировании не бывает, если всё правильно, машина должна работать, она ведь не человек - хныкать не станет.
Hasta la vista, baby!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.02.2006 (Вт) 17:24

Ты пути полностью задаёшь? это раз, и чтобы не зависало, асинхронный пример запусти?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Терминатор
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 06.01.2005 (Чт) 12:57
Откуда: Москва

Сообщение Терминатор » 07.02.2006 (Вт) 18:04

Сергей. Я тебя уважаю.
Но ты уж слишком. Хотя излишняя недоверчивость не помешает никогда.
Оба варианта аккуратно перебробывал. Сейчас ещё раз, запускал приложение через батник, и потом твоим кодом. Всё находится на одной машине, на одном диске. Батник запускает, код нет.
:arrow: Файл не найден.
Hasta la vista, baby!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.02.2006 (Вт) 18:17

Сделал пустые экзешники. Положил в папку с прогой. Запускает.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Терминатор
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 06.01.2005 (Чт) 12:57
Откуда: Москва

Сообщение Терминатор » 07.02.2006 (Вт) 21:17

GSerg писал(а):Положил в папку с прогой. Запускает.

Какой прогой? :lol:

Я конечно рад что ты отзываешься, и не могу тебя слишком втягивать, ведь это моя проблема. Но так или иначе, опишу подробнее.
По адресу Y:\P F\BSClnt_3\System - лежат файлы .bpl и .dll
По адресу Y:\P F\BSClnt_3\USER - лежит туча файлы .BLL и BPL

Мы пишем
i.EnvironmentVariables("path") = "Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;" - как это работает? Что происходит?

Дальше.
По адресу - Y:\P F\BSClnt_3\EXE - лежат файлы protcore.exe и cbank.exe

Мы пишем
i.FileName = "protcore.exe"
i.FileName = "cbank.exe"
- но ведь мы не где не указали их адрес, как это должно работать?

Я сразу сказал, я не понимаю как это должно срабатывать, в бат файле написано точно так же, то есть путь не указан двух последних файлов ( protcore.exe и cbank.exe )

set path=Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;
protcore.exe
cbank.exe


Но в cmd уже идёт всё точно и наглядно, и это видно визуально, при запуске бат-файла. повторюсь.

Y:\P F\BSClnt_3\EXE>set path=Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;
Y:\P F\BSClnt_3\EXE>protcore.exe
Y:\P F\BSClnt_3\EXE\cbank.exe


как видно, пути все указаны точно. Ещё, возжоно ли такое, что из-за того что цель этой программы конфиденциальная передача данных между юзерами, и из-за того что она делалась под заказ для определённого клиента, там что-то специально там созданно, что при запуске из других приложений такой гемор? Или это никак не должно влиять? Раз её запускает батник, так и всё остальное должно запускать на ура?
Hasta la vista, baby!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.02.2006 (Ср) 6:33

Я иногда поражаюсь некоторым действиям некоторых людей, особенно с учётом отсутствия ожидания таких действий именно от них :roll:

Терминатор писал(а):Какой прогой? :lol:

Которую я написал на .net для того, чтобы она запускала файлы.

Терминатор писал(а):Мы пишем
i.EnvironmentVariables("path") = "Y:\P F\BSClnt_3\System;Y:\P F\BSClnt_3\USER;" - как это работает? Что происходит?

По умолчанию набор переменных окружения дочернего процесса совпадает с таковым для родительского. При создании инстанса i туда копируются переменные окружения родительского процесса. Ничего не происходит, просто список создаётся. Один из элементов списка устанавливается равным нужному значению.

Терминатор писал(а):Мы пишем
i.FileName = "protcore.exe"
i.FileName = "cbank.exe"
- но ведь мы не где не указали их адрес, как это должно работать?

Обратив незначительное внимание на http://bbs.vbstreets.ru/viewtopic.php?p=6584249#6584249, мы видим фразу "Ты пути полностью задаёшь?"

Терминатор писал(а):Я сразу сказал, я не понимаю как это должно срабатывать, в бат файле написано точно так же, то есть путь не указан двух последних файлов ( protcore.exe и cbank.exe )

А не смущает, что bat-файл лежит в одной директории с exe?
Лет 10 назад ни у одного пользователя не возник бы этот вопрос :roll:

Терминатор писал(а):там что-то специально там созданно, что при запуске из других приложений такой гемор?

Нобелевскую премию давать за отличение одного от другого.


i.workingdirectory установи ещё разве что. Больше советов нет.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45

    TopList