Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2014, 18:49   #1
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
Смех Delphi && CMD.exe

Всем доброго времени суток...
Есть такая задача: Сменить на время значение переменной среды Windows и запустить некоторую прогу (ну а если раскрывать все карты то Minecraft.jar) а затем значение переменной вернуть в норму. И BAT файлы с этим прекрасно справляются, НО мне надо это сделать по нажатию кнопки в проге (написанной разумеется на Delphi). Немного погуглив я нашёл способ выполнения сразу нескольких команд: ... [command_1] && [command_2] и вроде все прекрасно срабатывает но есть косяк: сама прога ради которой меняю переменную тупо вылетает без ошибок (видимо из-за того что переменная занята, как выяснилось позже если тоже самое прописать в самом BAT-нике то результат тот же но если на разных строчках то все збс).
А теперь сам вопрос: как в одно и тоже окно CMD.exe послать несколько команд по очереди? т.е. они должны выполнять последовательно а не параллельно!!! А значит оператор && мне НЕ подходит.
Xaker_Two вне форума Ответить с цитированием
Старый 11.03.2014, 19:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А может проще аз-под программы запускать тот самый ВАТ?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.03.2014, 19:43   #3
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
Восклицание

Цитата:
Сообщение от Stilet Посмотреть сообщение
А может проще аз-под программы запускать тот самый ВАТ?
Я ж написал что это должно выполняться по нажатию кнопки а тот метод который описали вы это тупо запуск сторонней программы а мне надо этого избежать(хотя сейчас все именно так и работает!)!!! Был конечно вариант создавать запускать и удалять BAT-файл при каждом нажатии но это тоже не ахти(
P.S. Еслиб все было так просто я бы и не спрашивал!
Xaker_Two вне форума Ответить с цитированием
Старый 11.03.2014, 20:20   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Цитата:
Еслиб все было так просто я бы и не спрашивал!
Все еще проще.
Подсказка 1: у креатепроцесс есть параметр lpEnvironment
Подсказка 2: в мсдн в статье есть ссылка на примеры очень похожие на то, что вы хотите
p51x вне форума Ответить с цитированием
Старый 11.03.2014, 21:49   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а мне надо этого избежать
В упор не пойму почему этого надо избегать...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.03.2014, 22:46   #6
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
Счастье

Цитата:
Сообщение от Stilet Посмотреть сообщение
В упор не пойму почему этого надо избегать...
Да хотябы потому что появляется консоль и тратится лишняя секунда + принцип

p51x
спасибки посмотрим подумаем попляшем с бубном
только одна просьбы: можно линки на то про что вы говорили

Последний раз редактировалось Stilet; 11.03.2014 в 22:54.
Xaker_Two вне форума Ответить с цитированием
Старый 11.03.2014, 22:50   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Xaker_Two Посмотреть сообщение
Да хотябы потому что появляется консоль и тратится лишняя секунда + принцип
SW_HIDE не?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.03.2014, 02:16   #8
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
По умолчанию

Пепел Феникса
Знаем такой параметр. Спасибо что напомнили
Итого: -1 пункт из 3-х
Xaker_Two вне форума Ответить с цитированием
Старый 13.03.2014, 10:30   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Цитата:
Итого: -1 пункт из 3-х
Поражаюсь с людей... Вместо того , чтобы потрать пару секунд в гугле на набор msdn createprocess, они тратят 2 дня на пшик...
p51x вне форума Ответить с цитированием
Старый 15.03.2014, 14:07   #10
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Поражаюсь с людей... Вместо того , чтобы потрать пару секунд в гугле на набор msdn createprocess, они тратят 2 дня на пшик...
да нет почему просто надо было что-то ответить и два дня я не тратил
Xaker_Two вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
INDY 10 (idCmdTCPServer & idCmdTCPClient) & Delphi 2009 S_Yevgeniy Работа с сетью в Delphi 24 27.02.2012 08:56
C++ & cmd Olga90 C++ Builder 3 18.02.2012 05:17
Delphi&Access&logs ДианаKS БД в Delphi 0 26.01.2012 11:16
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
Delphi & Access & Ole vodila БД в Delphi 0 15.07.2008 11:11