| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > CMD =>GUI |
| Автор: lorents 5.9.2010, 20:23 |
| Добрый день! у меня есть программа, работающая через командную строку и я хочу сделать GUI. У меня есть один вопрос, прошу разъяснить мне. Как лучше остановить работу стороннего приложения? Убивать процесс как то мне не хочется, можно через бат запускать программу, тогда не надо убивать процесс, но появляется вопрос как отключить bat программно. Объясните, как лучше сделать? |
| Автор: Alexeis 5.9.2010, 22:05 |
Так как предусмотрели программисты. Либо командной (возможно нажатием клавиши), либо если это предусмотрено, закрытием окна консоли. |
| Автор: 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 |
Попробуй отослать окну консоли сообщение 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 |
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, закрывается. 586, Alexeis, спасибо А это значит, что вроде проблема решена. |