Как сделать часы из старого навигатора на Windows CE

Лет десять назад на рынке операционных систем для мобильных устройств лидировал Windows CE, разгромивший своих конкурентов в виде PalmOS, Symbian и других. Windows CE был везде — в навигаторах, магнитолах, коммуникаторах, КПК и даже в медицинском оборудовании. Но прошло время, и теперь это скорее экзотика, а сами устройства устарели и прочно осели по кладовкам. Одно из них обнаружилось у меня дома в лице китайского навигатора Nexx. После недолгих размышлений было решено сделать из него часы. И у меня это почти получилось…



При старте в навигаторах обычно загружается оболочка от производителя, блокирующая доступ к ОС. Обходится это достаточно легко: вместо файла навигационной программы, напр. Карта:\NaviOne\NaviOne.exe, подкладывается файловый менеджер, напр. TC.exe или cecmd.exe. Запустив его из оболочки как навигационную программу, переходим в папку Windows, запускаем explorer.exe и видим кнопку «Пуск» и часы — Windows в миниатюре.

Теперь можно устанавливать свои программы из cab-файлов. Если инсталятора нет и cab-файлы не устанавливаются (бывает и такое), то можно воспользоваться cabinstl.exe. Бегло поискав полноэкранные часы и ничего подходящего не найдя, решил что проще тряхнуть стариной и написать самому, благо программирование для Windows CE не сильно отличается от большого брата при использовании WinAPI. Результат здесь.

Осталось добавить часы в автозагрузку, чтобы при старте устройства запускалась не оболочка навигатора, а часы. Для этого необходимо изменить раздел реестра HKEY_LOCAL_MACHINE\init при помощи TC.exe (с плагином) или regedit.exe. Править реестр следует с осторожностью, так как имеется шанс окирпичить устройство (что я и сделал, так как, накосячив, обнаружил, что ни прошивки, ни hard-reset для моего навигатора в наличии нет), и не править ключи LaunchXX с номером менее 60 (это системные).

В результате получаем большие часы, которыми можно порадовать родителей.

P.S. Архив с упомянутыми программами можно взять здесь.
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 42

    0
    Весьма не энергоэффективно.
      +2
      Большинство навигаторов и сейчас как раз на винЦе. И для разлочки в каждом случае свои методы, или подмена ехе или реестр или флаг файл на карте. Покурили бы 4pna.com 4pda.ru 3ppc.net mihas gpsundrground gpspower etc.
        +3
        У знакомого был навигатор lexand, выход в ось был в самой оболочке в виде иконки.
          0
          Тоже есть девайс, правда фирму не помню. Обновлял на нем карты, заодно поигрался с окнами. Так же переход в неё сделан штатно, из оболочки. Она какая то урезанная.
            0
            Вы правы, я больше скажу, когда сбоит раздел с реестром или с оболочкой в половине современных навигаторов на мстарах процах всяких, то он при включении только рабочий стол и открывает.
          0
          Вообще да, интересная тема. У меня лежит вполне рабочий коммуникатор на WinMobile, там есть практически вся периферия. Хорошо бы его использовать для каких-то целей типа «умного дома» или системы дистанционного (через инет) контроля и управления чем-либо.
          Но для этого нужен софт, возможно какие-то аппаратные расширения (например как из него вытащить возможность управления чем-то внешним… там нет COM-порта, USB без OTG, разве что через аудиоразъем — но для этого нужны какие-то аппаратные решения).
          А для часов такой девайс будет слишком жирно:)
            +1
            там есть блютуз и больше по сути ничего не надо а програмить за милую душу через c# — очень простой легкий и мощный язык VisualStudio2008
            –2
            Углы обзора никакие, глянцевый экран. Дикая для часов прожорливость. Эти «часы» не выполняют своей функции показывать время.

            @Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?@ «Порадовать родителей»? Я бы опасался перегрева и пожара.
              +5

              Эти навигаторы под прямым солнцем в машинах работали днями и сутками, так что перегрев с пожаром вряд ли грозит :) А вот с углами обзора — да, беда.

              +1
              Углы обзора никакие, глянцевый экран.

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

              Возможно, но стоит обсуждать конкретные значения ватт в час. Может, тут за месяц эти часы меньше потратят электроэнергии, чем час работы обогревателя или яркой лампы накаливания.
              Эти «часы» не выполняют своей функции показывать время.

              На фото определённо видно, что выполняют. Разве нет?
              Но зачем?@ «Порадовать родителей»?

              Почему бы и нет?
              0
              Согласен со всеми, что неэффективно, несуразно и так далее. Однако, для старых устройств особого применения больше не видно: что-то управляющее проще на Arduino/RPi сделать, как читалка — слишком плохой экран, как консоль для игр — слишком плохой клик/слабый проц/маленький экран.
                0
                Я старинный tom tom как mp3 плеер в гараже использую. Карт на него на мой город нет, только направления :)
                0
                Еще бы с фоторамкой научиться что-то делать полезное типа метеостанции с часами
                  0
                  С рамкой намного печальнее. Вроде как иногда можно подобрать адаптер к используемой матрице и превратить ее в дополнительный монитор, но адаптер достаточно дорог.

                  Простого доступа к ОС там не видать.
                    0
                    Если под словом адаптер вы имеете в виду LVDS драйвер, то не такой уж он и дорогой. Цены начинаются с 200 руб. Даже самый простой поддерживает 25 комбинаций разрешения матрицы.
                      0
                      Да он самый. Я бегло эту тему по интернету поизучал — там проблема еще в том, что для разных матриц разные адаптеры нужны и можно промахнуться. Или достаточно только разрешение знать?

                      Возможно стоит копнуть поглубже — что-то много у меня этих матриц набралось :)
                        0
                        Нужно начать с даташита матрицы. Если у неё интерфейс LVDS, то проблем не должно быть. С другими (MiPi, TTL...) сложнее. При размере матрицы 7" и выше LVDS подавляющее большинство. Платы для них на любой вкус: с HDMI, DVI, VGA, ВЧ входом, c УМЗЧ, ПДУ, поддержкой USB. Так что копнуть поглубже стоит.
                    +2
                    Просто часы проще простого. Загрузить 24х60 или 12х60 фоток часов и поставить автосмену каждую минуту:)
                      0
                      А как время выставлять подводить?
                      Включать ровно в 00:00?
                        0

                        Синхронизация по gps :-)

                          0
                          У нас на рвботе одни цеховые часы так включают- стоят высоко и недоступно для коррекции времени.
                        0
                        Вот что я сделал: geektimes.ru/post/262512
                        0
                        У нас старенький навигатор Prology, автоматом стартуют карта навител, но карту можно закрыть и откроется оболочка, с выбором карт, музыки видео и всё такое. Есть также настройки, в которых можно просто указать путь к программе, которую следует запускать при старте устройства.
                        Можно хоть браузер запускать. Виндовый. Это, конечно, полный капец, но возможность есть.
                          +2
                          Некрупная у вас статья. По сути, сводящаяся к тому, что исполняемый файл (любой) нужно сохранить под нужным именем (в разных навигаторах — даже разным; я видел навигаторы, где имя можно было в настройках девайса поменять), и — ого, работает, я гений!

                          На пост на ГТ не тянет, уж извините.
                            0
                            Если там есть браузер, то можно делать часы (и еще кучу всякого разного) с помощью html+js. Очевидно, что можно менять содержимое «программы» на ходу.
                              0
                              Отличная идея.
                              На работе полно устаревших панелей Сименс с СЕ и более древними.
                              Можно даже скриптами дневной\ночной режим заделать. Только обычно они на 24 В постоянки.
                                0
                                Вы про HMI-панели Siemens что ли? И что же в них устарело, позвольте узнать?
                                  0
                                  с переходом на ТИА портал отвалились не поддерживаемые. OP и прочие.
                                    0
                                    Ну так, под Step7+WinCC Flex всё равно ж работают.
                                    Использовать панельки в несколько сотен евро с теми же самыми (самыми основными, т.е.) функциями и возможностями как часы — несколько расточительно, вам не кажется? :)
                                      0
                                      они лежат на складе и их судьба незавидна.

                                      Писать проект для С7 на тиа портале, а для панели на Флексе будет извращением.
                                  0
                                  Из этих панелек можно инет радио сделать. Ethernet — есть, аудиовыход — есть.
                                  0

                                  Основная проблема таких часов — его экран. Подсветка на этих матрицах даже при чнрном фоне и темных цифрах будех хорошо освещать комнату ночью. Ночник получается.


                                  Я так хотел сделать часы на своем старом вп7 смарфоне. В итоге отказался от такой затеи.

                                    –2
                                    Про возможные грабли после установки не родных прошивок WinCE. Дрова могут быть универсальные, но конфиги/константы у разных моделей — отличаться. GPS-навигатор LEXAND ST-565, поставил другую прошивку — через пару дней аккум вздулся, повтор эксперимента — такой же результат. Третья попытка на родной прошивке — все OK.

                                    Чтобы не поднимать флэйм «ты что-то не учел», скажу, я — программист-эмбеддник, поддержка WinCE умерла, а гиктаймс меня всегда привлекал новыми идеями, но никак не молебенами за упокой…
                                      –4

                                      детский лепет какой-то....

                                        0
                                        Спасибо за идею!!!
                                        Отлично подойдут мне для ночного дежурства — и часы, и ночник :-)
                                          0
                                          Лет десять назад на рынке операционных систем для мобильных устройств лидировал Windows CE, разгромивший своих конкурентов в виде PalmOS, Symbian и других.
                                          По данным Gartner, на четвёртый квартал 2007 года WM занимала 11.9% рынка, слегка обгоняя Blackberry OS с 10.9% (правда, в следующий год та вырвалась вперёд, чуть ли не удвоившись) и серьёзно уступая Symbian с 62.3% (правда, доля Symbian уже начинала падать, хотя до темпов Элопа было ещё далеко).
                                          Конечно, мобильные устройства смартфонами не ограничиваются, но странно говорить о лидировании, когда на столь массовом рынке ОС была почти что аутсайдером.
                                            0

                                            Зато сколько замечательных телефонов (PDA)тогда на ebay продавалось именно на WinMobile

                                            0
                                            Жаль, что «статьи» по разработке, в понимании этого слова нет. Как скомпилировать софт, как его установить, что за железка, какие пути прошёл автор. Фото работы, видео работы и т.п. Я поздравляю автора с успехом, но увы, статья совершенно не информативна и не интересна, как войти в мир разработчиков под wince
                                              0
                                              Это могу расписать, кодить для Pocket 2003/2005? Но это настолько старые системы, что даже их поддержка уже завершена Microsoft. В целом вся линейка выглядит загнувшейся, так что особого смысла не увидел.

                                              Если коротко, то достаточно поставить Visual Studio 2005 и выше, и при установке выбрать поддержку мобильных устройств. Потом воспользоваться мастером проектов, создать базовое «Hello World» окно и запустить на поставляемом со Студией эмулятором.
                                              Остальное проганье сильно похоже на обычное WinAPI. Хотя вроде и MFC, и NetFramework имеется (даже не пробовал).

                                              P.S. Работы видео нет, так как я окирпичил устройство. Одна фотка с заглавного поста — это успел случайно сделать.
                                                0

                                                Посмотрите мой последний пост, об этом можно и нужно писать

                                                  0
                                                  Зачем? Вы же сами пишите «Зачем я это сделал — не знаю. Потому что могу, как в старой доброй картинке.» Под Palm действительно специфичное программирование, так что может и есть хоть какой то смысл, а под WinCE — Студия большую часть граблей убирает, если конечно не пытаться использовать её предшественника eMbedded Visual C++.

                                            Only users with full accounts can post comments. Log in, please.