Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > CMD =>GUI


Автор: lorents 5.9.2010, 20:23
Добрый день!
у меня есть программа, работающая через командную строку и я хочу сделать GUI. У меня есть один вопрос, прошу разъяснить мне.
Как лучше остановить работу стороннего приложения?
Убивать процесс как то мне не хочется, можно через бат запускать программу, тогда не надо убивать процесс, но появляется вопрос как отключить bat программно.
Объясните, как лучше сделать?

Автор: Alexeis 5.9.2010, 22:05
Цитата(lorents @  5.9.2010,  19:23 Найти цитируемый пост)
Как лучше остановить работу стороннего приложения?

  Так как предусмотрели программисты. Либо командной (возможно нажатием клавиши), либо если это предусмотрено, закрытием окна консоли.

Автор: lorents 5.9.2010, 22:10
Alexeis, а если не предусмотрено?

Автор: 586 5.9.2010, 22:17
Если прога консольная, то можно с помощью функции GenerateConsoleCtrlEvent.

Автор: Alexeis 5.9.2010, 22:17
lorents, не бывает так в нормальных приложениях. Крестиком консоль закрывается?

Автор: aleksh 6.9.2010, 14:21
а сторонней, это какой?

Автор: lorents 6.9.2010, 19:38
Alexeis, да, закрывается.

aleksh, программой работающие через командную стоку.

Автор: Alexeis 6.9.2010, 20:09
Цитата(lorents @  6.9.2010,  18:38 Найти цитируемый пост)
Alexeis, да, закрывается.

Попробуй отослать окну консоли сообщение WM_CLOSE

Автор: lorents 6.9.2010, 20:50
Alexeis, спасибо, сейчас попробуем.

Автор: lorents 7.9.2010, 13:48
а если пойти по другому пути. подскажите, а как можно отключить bat-файл, если он запущен в скрытом режиме? 

Автор: lorents 7.9.2010, 15:11
и еще Как получить дескриптор консольного окна?

Автор: Alexeis 7.9.2010, 15:23
Цитата(lorents @  7.9.2010,  14:11 Найти цитируемый пост)
и еще Как получить дескриптор консольного окна? 

GetConsoleWindow

Добавлено через 3 минуты и 19 секунд
Кстати можно попробовать совет 586 и вызвать GenerateConsoleCtrlEvent(0, 0);

Автор: lorents 7.9.2010, 16:34
Alexeis, можно поподробнее, про функцию GenerateConsoleCtrlEvent, я прочитал про нее, но не совсем понял, как это мне может помочь? если не трудно объясните пожалуйста.

Автор: Alexeis 7.9.2010, 16:42
  По идее это должно отправлять сигналы в консоль CTRL+C или CTRL+Break . Такие нажатия закрывают консоль?  

Автор: lorents 7.9.2010, 17:28
Alexeis, закрывается.  smile 
586, Alexeis, спасибо

А это значит, что вроде проблема решена. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)