Когда вы запускаете программу без ключей командной строки, то она запускается с графическим интерфейсом пользователя (см. рис. 2.9), и можно вручную запустить одну из команд. Для того чтобы команда была выполнена, необходимо нажать кнопку «!». Результат выполнения команды выводится в окно JShell.

Предназначение всех команд приведено в следующем списке.

♦ Команда win выводит список всех окон.

♦ Команда gi proc отображает список всех активных в системе процессов.

♦ Команда кр # позволяет завершить выполнение процесса с номером, указанным в качестве параметра #.

♦ Команда gi thrd позволяет отобразить список потоков.

♦ Команда gi mod позволяет вывести список модулей (DLL).

♦ Команда gi mod «хх» позволяет вывести список модулей (DLL), имена которых начинаются с подстроки хх.

♦ Команда mi отображает информацию о распределении памяти.

♦ Команда mi full отображает подробную информацию о распределении памяти.

♦ Команда s <арр> создает процесс, полное имя к файлу которого передается в параметре <арр>.

PPC_Command_Shell

Это простой командный интрепретатор, выводящий на экран консольное окно (рис. 2.10).

Рис. 2.10. Окно командного интерпретатора.


Содержимое каталога arm необходимо скопировать в каталог Windows на самом Pocket PC и затем нужно запустить файл cmd.exe. Список возможных команд выводится на экран, если набрать команду help и нажать клавишу Enter.

RAPI_Debug

Эта утилита состоит из двух частей. Программу bugtrap.exe необходимо скопировать на устройство в каталог Windows, а программу RapiDbg.exe – запустить на рабочей станции. Естественно, при отладке надо установить соединение при помощи ActiveSynс. После запуска на рабочей станции программа RapiDbg.exe свяжется с устройством и отобразит на экране отладочную информацию (распределение памяти, запущенные процессы и потоки), и останется в режиме ожидания, отслеживая и отображая весь пользовательский ввод, который будет происходить на Pocket PC. Окно программы на рабочей станции показано на рис. 2.11.

Рис. 2.11. Окно программы с выводом отладочной информации.

RAPI_Start

Эта консольная программа позволяет с рабочей станции запустить программу на Pocket PC, если установлено соединение ActiveSync.

К примеру, на рабочей станции в консоли можно выполнить команду RAPI_Start iexplore.exe http://yandex.ru/, а на Pocket PC будет запущен Pocket Explorer и загружена первая страница поисковой системы.

TypeIt

Эта программа предназначается исключительно для смартфонов. После запуска она передает на смартфон клавиатурный ввод с рабочей станции.

Общие вопросы создания интерфейса пользователя

Вся остальная книга будет посвящена именно программированию, поэтому в данном разделе будут кратко освещены общие вопросы, связанные с созданием интерфейса пользователя для Pocket PC.

Главным фактором, с которым приходится считаться при создании пользовательского интерфейса для программ, запускаемых на мобильных устройствах, является размер. Экран Pocket PC по площади на порядок меньше, чем экран современного настольного компьютера. Тем не менее функционально приложения для Pocket PC часто сравнимы по функциональности с приложениями для рабочей станции. Значит, органов настройки и управления должно быть столько же, а разместить их надо на куда меньшей площади.

Часто при решении этого конфликта между стремлением к реализации серьезной функциональности и малым размером экрана в жертву приносится размер элементов управления и разборчивость их обозначений. Мне запомнилось, как я установил на свой Pocket PC триальную версию одного из коммерческих органайзеров и удалил ее после первого же запуска. Причина столь резкого отказа от «мощной функциональности планирования и организации множества задач в одной программе» была проста. Органайзер нужен пользователю для облегчения жизни, а не для усложнения ее. В ситуации, когда пользователю приходится разбираться, на какую из вкладок, идущих в два ряда с двух сторон экрана надо нажать, чтобы получить нужный результат, любой из нас предпочел бы стандартный дизайн и возможности Microsoft Outlook. Именно поэтому Грег Кейзер (Greg Keyser), руководитель группы разработки мобильных устройств корпорации Microsoft, посвятил свое выступление на конференции Microsoft Mobile DevCon 2004 вопросам создания пользовательского интерфейса. Основные его советы приведены ниже.