| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Платформы Windows Mobile и Windows Embedded > Консольная программа в Windows Mobile |
| Автор: ksili 8.12.2009, 07:07 |
| Мне надо, чтобы программа работала в скрытом виде, без окна, периодически выполняя определённые действия. Обнаружил, что консольная программа в WM как раз никак не видна. Подходит ли она для этой цели или могут быть какие-то проблемы? |
| Автор: ksili 8.12.2009, 11:33 | ||
| Alexeis, спасибо. Я уже чуть-чуть по-другому придумал. Вообще, у меня есть уже программа, с окном. Но в WM юэеру обычно обломно, что что-то висит на экране, может просто закрыть или выгрузить. А надо чтобы программа была в памяти постоянно. Поэтому думал разделить код так: все настройки в проге с окном, а основная работа - в консольной программе. Но сейчас придумал, как ещё больше сократить работу по переделке: екзешник будет один - тот же что и был. Но запускаться он будет с разными параметрами командной строки. Если пар-ра нет - то покажет настройки, если есть - то выполнит нужную работу и опять спать. Запуск в нужный момент будет устанавливать себе сама же - функцией CeRunAppAtTime. Вот только я тут немного не знаю ещё как это делается (если кто делал, поделитесь): во-первых, как в WM свернуть программу, не выгружая её. Я посылал WM_SHOWWINDOW с параметром SW_HIDE. Такое ощущение, что оно выгружается. во-вторых, вот загружается программа, ищет нет ли уже запущенного экземпляра, если его нет, то в принципе понятно, а если есть, то что? Надо слать какое-то сообщение? Надо регистрировать свое сообщение или можно слать WM_COMMAND с каким-то своим параметром? Добавлено через 8 минут и 14 секунд
а нет, вроде бы просто сворачивается. Но вот мне нужно чтобы его не было в списке загруженных программ. Как-то надо скрыть. |
| Автор: ksili 8.12.2009, 12:33 |
| Сворачивать получилось функцией SetWindowPos, вот только после этого оно некорректно разворачивается: заголовок и нижнее меню появляются, а клиентская часть не прорисовывается. Пробовал после SetWindowPos посылать WM_PAINT - не помогло. |
| Автор: ksili 10.12.2009, 07:59 |
| Поправил параметры SetWindowPos и все нормально заработало. Программа скрывается и восстанавливается. Причём в списке загруженных программ её не видно, когда она свёрнута. |