Модераторы: Alexeis
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Консольная программа в Windows Mobile 
V
    Опции темы
ksili
Дата 8.12.2009, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Мне надо, чтобы программа работала в скрытом виде, без окна, периодически выполняя определённые действия. Обнаружил, что консольная программа в WM как раз никак не видна. Подходит ли она для этой цели или могут быть какие-то проблемы? 


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Alexeis
Дата 8.12.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Цитата(ksili @  8.12.2009,  06:07 Найти цитируемый пост)
Мне надо, чтобы программа работала в скрытом виде, без окна, периодически выполняя определённые действия. Обнаружил, что консольная программа в WM как раз никак не видна. Подходит ли она для этой цели или могут быть какие-то проблемы?  

  Так ты просто не создавай окно совсем и программа будет невидимой. Windows приложение прекрасно работает и без окон. Самые насущные сообщения отправляются в очередь обработки сообщений потока. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ksili
Дата 8.12.2009, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Alexeis, спасибо.
Я уже чуть-чуть по-другому придумал. Вообще, у меня есть уже программа, с окном. Но в WM юэеру обычно обломно, что что-то висит на экране, может просто закрыть или выгрузить. А надо чтобы программа была в памяти постоянно. Поэтому думал разделить код так: все настройки в проге с окном, а основная работа - в консольной программе. 
Но сейчас придумал, как ещё больше сократить работу по переделке:
екзешник будет один - тот же что и был. Но запускаться он будет с разными параметрами командной строки. Если пар-ра нет - то покажет настройки, если есть - то выполнит нужную работу и опять спать. Запуск в нужный момент будет устанавливать себе сама же - функцией CeRunAppAtTime. 
Вот только я тут немного не знаю ещё как это делается (если кто делал, поделитесь): 
во-первых, как в WM свернуть программу, не выгружая её. Я посылал WM_SHOWWINDOW с параметром SW_HIDE. Такое ощущение, что оно выгружается.
во-вторых, вот загружается программа, ищет нет ли уже запущенного экземпляра, если его нет, то в принципе понятно, а если есть, то что? Надо слать какое-то сообщение? Надо регистрировать свое сообщение или можно слать WM_COMMAND с каким-то своим параметром?

Добавлено через 8 минут и 14 секунд
Цитата(ksili @  8.12.2009,  15:33 Найти цитируемый пост)
во-первых, как в WM свернуть программу, не выгружая её. Я посылал WM_SHOWWINDOW с параметром SW_HIDE. Такое ощущение, что оно выгружается.

а нет, вроде бы просто сворачивается. Но вот мне нужно чтобы его не было в списке загруженных программ. Как-то надо скрыть.


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
ksili
Дата 8.12.2009, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Сворачивать получилось функцией SetWindowPos, вот только после этого оно некорректно разворачивается: заголовок и нижнее меню появляются, а клиентская часть не прорисовывается. Пробовал после SetWindowPos посылать WM_PAINT - не помогло.


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
ksili
Дата 10.12.2009, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



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


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование мобильных устройств"
Alexeis

Раздел посвящен программированию мобильных устройств.

Все остальные вопросы по мобильным устройствам (КПК, смартфоны, телефоны, фотоаппараты и т.п),
не имеющие отношения к программированию, просьба размещать в разделе КПК, смартфоны, мобильники

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Платформы Windows Mobile и Windows Embedded | Следующая тема »


 




[ Время генерации скрипта: 0.2512 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.