Регистрация | Вход 
Заметки о Windows CE
Автор: Александр Игнатьев Создан: 19.06.2007
Заметки о разработке под Windows CE.

Недавно компания EQATEC завершила тестирование и выпустила финальную версию профилировщика для приложений .NET Compact Framework. EQATEC Profiler совершенно бесплатен. Узнать подробности и скачать его вы можете по этой ссылке: http://www.eqatec.com/tools/profiler.

Достаточно странно, но вместо конца февраля 2008 года Microsoft решила выпустить Visual Studio 2008 уже в конце ноября 2007. Видимо, тестирование второй беты оказалось на редкость удачным :-)

http://msdn2.microsoft.com/ru-ru/vstudio/default.aspx

Scott Guthrie, участвующий в качестве менеджера в разработке Visual Studio,  в своем блоге сообщил, что Microsoft планирует раскрыть исходники .NET Framework по лицензии Ms-RL. Предполагается, что финальная версия Visual Studio 2008 будет позволять использовать этот код для отладки приложений (никогда не хотелось залезть отладчиком поглубже?). Кроме того, его можно будет скачивать и просматривать локально. Не больше и не меньше. Подробности можете смотреть здесь:

Жаль, что пока ничего неизвестно о .NET Compact Framework.

Не так давно вышли новые "игрушки" для разработчиков .NET CF: Power Toys for .NET Compact Framework beta2.

Следующие инструменты включены в пакет:

  • Remote Performance Monitor and GC Heap Viewer
  • NETCF CLR Profiler
  • App Configuration Tool (NetCFcfg.exe)
  • Remote Logging Configuration Tool
  • NETCF Network Log Viewer

Скачать Power Toys и узнать подробности об инструментах можно по ссылке: Power Toys for .NET Compact Framework 3.5 CTP (September 2007)

Visual Studio 2008
Visual Studio 2008 Beta 2 доступна для скачивания.
Новые возможности:

  • Включена новая версия .NET Compact Framework 3.5, .NET Compact Framework 1.0 больше не поддерживается
  • Добавления возможность модульного тестирования (unit testing) мобильных приложений
  • Включена третья версия arm-эмулятора

Поддерживаются:

Скачать Visual Studio можно здесь: Visual Studio 2008 Downloads.

Разработка под Windows Mobile поддерживается в редакциях Visual Studio: Standart Edition, Professional Edition и Team System.

Смотрите также о новых возможностях Visual Studio для разработчиков Windows Mobile:

Существует как минимум два способа:
1. используя функцию GetDesktopWindow: 
HWND hwndToday = GetDesktopWindow();
2. по имени класса Today Screen  "DesktopExplorerWindow" 
HWND hwndToday = FindWindow(TEXT("DesktopExplorerWindow"), NULL);

Programming Windows Embedded CE 6.0Не так давно наткнулся на новую книгу Douglas Boling Programming Windows Embedded CE 6.0 Developer Reference. Предыдущая его книга Programming Windows CE .NET была очень неслабой, надеюсь новая будет не хуже. Она ожидается 10 октября 2007.

Не так давно прочитал в блоге MelSam'a одно интересное замечание.
Как правило, при написании приложений, разработчки делают необоснованное предоложение о константности размера иконок. На самом деле это не так, например:

Устройство DPI Small icons Large icons
Pocket PC (normal DPI) 96 16x16 32x32
Pocket PC (high DPI) 192 32x32 64x64
Smartphone (normal DPI) 96 16x16 32x32
Smartphone (high DPI) 131 22x22 44x44

Для того, чтобы определить размер иконки на конкретном девайсе, используйте функцию GetSystemMetrics, например:  GetSystemMetrics(SM_CXICON). И не забывайте включать иконки необходимых размеров в ваши ресурсные файлы.

Ниже приведен список быстрых клавиш для эмуляторов Windows Mobile:

Эмулятор Pocket PC
Клавиша устройства Быстрая клавиша
Soft Key 1 F1
Soft Key 2 F2
Volume up F6
Volume down F7
Action Enter
Back Backspace
Start menu Клавиша "Windows"
1-9 1-9 (не цифровая панель)
A-Z A-Z

 

Эмулятор Smartphone
Клавиша устройства Быстрая клавиша
Soft Key 1 F1
Soft Key 2 F2
Talk F3
End F4
Volume up F6
Volume down F7
* F8
# F9
Action Enter
Back Backspace
Home Клавиша "Windows"
1-9 1-9 (не цифровая панель)
A-Z A-Z

Microsft решила сломать устоявшуюся традицию наименования устройств как Pocket PC, Smartphone и Pocket PC Phone Edition:

 

Соотвествие именований WM 5.0 и WM 6
Windows Mobile 5.0 Windows Mobile 6
Windows Mobile 5.0 for Pocket PC Windows Mobile 6 Classic
Windows Mobile 5.0 for Pocket PC Phone Edition Windows Mobile 6 Professional
Windows Mobile 5.0 for Smartphone Windows Mobile 6 Standart

 

Напоминаю, что Smartphone отличается от Pocket PC отсутствием стилуса и ToucheScreen плюс функциональность телефона, а возможности Pocket PC Phone Edition раширены функционалом телефона с сохранием всего остального.

Microsoft утверждает, что новая схема именования должна быть удобнее и понятней - в чем я сильно сомневаюсь, все-таки названия Profissional, Standart и Classic достаточно безлики. 

1. STL for eMbedded Visual C++. Библиотека STL для eVC++ http://www.syncdata.it/stlce/index.html
Скачать(220 KB): http://www.syncdata.it/stlce/stldownload.html

2. STLport. Библиотека STL.
http://www.stlport.com/index.html
Скачать последнюю версию (1.3 MB): http://sourceforge.net/project/showfiles.php?group_id=146814

По поводу проблем с установкой STLPort:
http://sourceforge.net/forum/message.php?msg_id=4061766.

Как ни странно, не самая элементарная задача.

void AddSeconds(SYSTEMTIME *pst, int nSeconds)
{
FILETIME ft;
memset(&ft, 0, sizeof(FILETIME));
SystemTimeToFileTime(pst, &ft);
ULARGE_INTEGER ulI;
ulI.HighPart = ft.dwHighDateTime;
ulI.LowPart = ft.dwLowDateTime;
ulI.QuadPart += (__int64)(10*1000*1000*(__int64)nSeconds);
ft.dwHighDateTime = ulI.HighPart;
ft.dwLowDateTime = ulI.LowPart;
FileTimeToSystemTime(&ft, pst);
}

Функция CeGetUserNotification,как известно, возвращает информацию об уведовлению (notification) Windows CE по ее описателю (handle). Однако есть у нее одна особенность, подразумеваемая по умолчанию, но прямо о ней нигде не говорится (я по крайней мере пока не встречал) - она возвращает информацию только по тому уведомлению, которое состоится в будущем. Как только уведомление происходит - ресурсы связанные с ним сразу освобождаются, поэтому при попытке получить информацию об уведомлении возвращается ошибка ERROR_INVALID_PARAMETER - описатель уже не действителен.

Вышла новая версия WTL - 8.0. Windows Template Library - С++ библиотека для разработки Windows приложений и GUI для них, расширяющая возможности библиотеки ATL. Помимо прочего позволяет разрабатывать приложения для Windows CE. Скачать можно здесь: http://wtl.sourceforge.net/.

Оказывается есть PHP-сервер для Pocket PC. Конечно я не знаю PHP, и тем более сервер из Pocket PC совершенно некудышный, но идея интересная. Скачать и узнать подробности можно здесь: Pocket HPH.

Поиск по заметкам


Copyright 2007-2009 by Alexander Ignatyev