Чтение онлайн

на главную - закладки

Жанры

Программирование КПК и смартфонов на .NET Compact Framework

Климов Александр Петрович

Шрифт:

□ 4.21 — соответствует Pocket PC 2003 SE.

□ 5.01 — соответствует Windows Mobile 5.0.

Путь к запущенному приложению

Иногда требуется узнать путь к файлу запущенного приложения. Для этого можно воспользоваться кодом из листинга 14.3.

Листинг 14.3

using System.IO;

using System.Reflection;

txtAppDir.Text =

 Path.GetDirectoryName(Assembly.GetExecutingAssemblу.GetModule[0].

FullyQuelifiedName).ToString;

В этом примере после выбора соответствующего

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

Специальные папки

В главе, посвященной функциям Windows API, путь к специальным папкам отыскивался с помощью функции

SHGetSpecialFolderPath
. Сторонники управляемого кода могут воспользоваться методом
GetFolderPath
, который появился в .NET Compact Framework 2.0. С помощью перечисления
Environment.SpecialFolder
можно получить пути к некоторым специальным папкам системы. Например, чтобы получить путь к папке
Start
Up, можно воспользоваться кодом, приведенным в листинге 14.4.

Листинг 14.4

txtInfo.Text =

 Environment.GetFolderPath(Environment.SpecialFolder.Startup).ToString;

Узнать имя устройства

Чтобы узнать имя устройства, на котором запущено приложение достаточно вызвать метод

GetHostName
, как показано в листинге 14.5.

Листинг 14.5

txtInfo.Text = System.Net.Dns.GetHostName.ToString;

Узнать ориентацию экрана

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

Bounds
, как показано в листинге 14.6.

Листинг 14.6

txtInfo.Text =

 Screen.PrimaryScreen.Bounds.Width + ":" + Screen.PrimaryScreen.Bounds.Height;

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

Открытие файлов по умолчанию

Стоит обратить особое внимание на класс

Process
. С помощью данного класса очень удобно запускать любой файл, который будет открываться программой, сопоставленной с данным типом файла. Предположим, что необходимо воспроизвести музыкальный файл MP3, но при этом неизвестно, какая именно программа у пользователя отвечает за воспроизведение этих музыкальных файлов. В этом случае можно просто указать имя файла, и система сама запустит соответствующую программу. Соответствующий код приведен в листинге 14.7.

Листинг 14.7

System.Diagnostics.Process.Start("\\My Music\\myfile.mp3");

ВНИМАНИЕ

Класс System.Diagnostics.Process появился в .NET Compact Framework 2.0. Для версии .NET Compact Framework 1.0 нужно использовать функцию API ShellExecuteEx.

Создание и отправка письма

Существует очень легкий и быстрый способ создания и отправки письма с использованием технологии, применяемой на веб-страницах. С помощью ключевого слова

mailto
создается заготовка письма, в которой указываются автор сообщения, тема и текст письма. После этого запускается процесс, который в автоматическом режиме запускает нужную почтовую программу и отсылает письмо, как показано в листинге 14.8.

Листинг 14.8

private void butSendMail_Сlick(object sender, EventArgs e) {

 System.Diagnostics.Process.Start

("mailto:[email protected]?subject=About Book", null);

}

Кнопки

навигации

У карманных компьютеров есть кнопки навигации, позволяющие управлять объектами на экране. Это кнопки со стрелками и кнопка ввода.

Чтобы узнать, на какую кнопку нажал пользователь, нужно переопределить событие

OnKeyDown
. Для создания тестового приложения нужно разместить на форме строку состояния, в которой будет отображаться название нажатой кнопки. Соответствующий код приведен в листинге 14.9.

Листинг 14.9

protected override void OnKeyDown(KeyEventArgs keyg) {

 switch (keyg.KeyData) {

 case Keys.Left:

sbaKeys.Text = "Left";

break;

 case Keys.Right:

sbaKeys.Text = "Right";

break:

 case Keys.Down:

sbaKeys.Text = "Down";

break;

 case Keys.Up:

sbaKeys.Text = "Up";

break;

 case Keys.Return:

sbaKeys.Text = "Return";

break:

 default:

break;

 }

}

Послесловие

Что дальше?

Вот и подошла к концу книга о программировании для мобильных устройств с помощью .NET Compact Framework. Надеюсь, я смог рассказать об основных особенностях программирования в этой среде, и вам будет легко продолжить изучение этой технологии. Жизнь не стоит на месте, и постоянно выпускаются новые релизы эмуляторов, обновлений SDK и новых утилит. Компания Microsoft уже работает над новой мобильной версией Windows, которая должна прийти на смену Windows Mobile 5.0, и обещает выпустить ее в конце 2006 года. Новая операционная система называется Crossbow. По заявлениям разработчиков, в ней будут представлены расширенные средства синхронизации с программами Office 2007 и Exchange 12.

Также в состав операционной системы войдет новая программа Office Communicator, обладающая широкими возможностями обмена информацией через мгновенные сообщения, голосовую связь и видео. Также появилась информация, что после Crossbow будет выпущена еще одна новая платформа под кодовым названием Photon. Главная особенность этой системы заключается в том, что ее можно будет использовать как на смартфонах, так и на карманных компьютерах. На сегодняшний день, по оценкам экспертов, компания Microsoft удерживает примерно 16% рынка мобильных операционных систем. Лидером в этом сегменте является операционная система Symbian, на долю которой приходится 63%. Но есть все предпосылки, что в ближайшем будущем эти цифры могут измениться в сторону увеличения доли Windows Mobile.

Полезные ресурсы

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

.NET Compact Framework 2.0 Redistributable

Если вы пишете программы с использованием .NET Compact Framework 2.0, то при распространении программы надо либо включать в состав вашего установочного файла все необходимые библиотеки, либо предложить пользователю самостоятельно установить .NET Compact Framework 2 0. В этом случае достаточно будет выкладывать на сайте только сам исполняемый файл программы. Загрузить последнюю версию .NET Compact Framework 2.0 можно по адресу www.microsoft.com/downloads/details.aspx?familyid=9655156b-356b-4a2c-857c-e62f50ae9a55&displaylang=en.

Поделиться:
Популярные книги

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Отчий дом. Семейная хроника

Чириков Евгений Николаевич
Проза:
классическая проза
5.00
рейтинг книги
Отчий дом. Семейная хроника

Скандальная свадьба

Данич Дина
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Скандальная свадьба

Путанабус. Трилогия

Старицкий Дмитрий
Фантастика:
боевая фантастика
6.93
рейтинг книги
Путанабус. Трилогия

Идеальный мир для Лекаря 25

Сапфир Олег
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 25

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Проданная невеста

Wolf Lita
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Проданная невеста

Потомок бога

Решетов Евгений Валерьевич
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Потомок бога

С Д. Том 16

Клеванский Кирилл Сергеевич
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
С Д. Том 16

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

От Советского Информбюро - 1941-1945 (Сборник)

Неизвестен 3 Автор
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
От Советского Информбюро - 1941-1945 (Сборник)

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3

Прометей: повелитель стали

Рави Ивар
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Прометей: повелитель стали

Отмороженный 14.0

Гарцевич Евгений Александрович
14. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Отмороженный 14.0