Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #40, МАРТ 2004 г.

Программирование в XP

Tony

Спецвыпуск Xakep, номер #040, стр. 040-076-1


(tony@nifti.unn.ru, ICQ 165066287, http://itfi.nnov.ru)

Нововведения, практические примеры и советы

Что нового для программистов приготовила Microsoft в Windows XP? Как лучше разрабатывать программные продукты для Windows XP? Что такое службы? Что необходимо почитать для более глубокого понимания вопроса? Об этом, а также о многом другом про Windows XP с точки зрения программиста, ты узнаешь из этой статьи.

XP-инженерия

Ты надеешься на лучшее и идешь страховать имущество и жизнь. Ты встречаешь женщину (или мужчину, кто как), думаешь, что она - та самая, но в один прекрасный момент встречаешь другую :). Также и с Windows - с выходом новой операционной системы ты надеешься, что она станет еще красивее, еще быстрее и еще безглючнее. Покупаешь, устанавливаешь и... ждешь следующую Windows.

Между тем это совершенно нормальный процесс - постоянное совершенство, стремление к вершине горы (в качестве толкаемого камня в данном случае выступает огромный рулон программного кода). Представь себе, что Microsoft сегодня выпустила совершенную операционную систему, без глюков, быструю, красивую, безопасную и масштабируемую. После этого Билл становится ненужным, эта совершенная Windows удовлетворяет все наши потребности. Тысячи работников MS теряют работу, остальные программисты планеты потеряют работу сразу после того, как напишут все необходимое человечеству ПО под Windows.

Впрочем, я немного отвлекся. Windows XP в линейке операционных систем Мелкософт занимает одно из ключевых мест. Во-первых, это первая ось с поддержкой тем оформления (скинов). Во-вторых, она была создана в то время, когда мультимедийные, интернет-стандарты, стандарты на железо и программное обеспечение, наконец, более-менее устоялись. И, в-третьих, это первая попытка Майкрософт скрестить две линейки своих осей на ядре NT и Windows 98 в одну универсальную операционную систему. Если первые два пункта говорят однозначно в пользу Windows XP, то по третьему можно найти кучу возражений, сводящихся к тому, что вся история инженерии (как науки) говорит о невозможности создать что-то абсолютно универсальное, поскольку сложность задачи по сравнению со сложностью системы возрастает нелинейно.

GUI тебе

Забегая немного вперед, скажу, что, с точки зрения программиста, Windows XP отличается от Windows 2K только поддержкой Theme API, которая позволяет изменять внешний вид окошек и элементов управления, наличием иконок с глубиной цвета в 32 бита и поддержкой IPv6 при помощи Windows Sockets 2. Все остальные “новшества” доступны и для других операционных систем с сервера Майкрософт или по подписке MSDN. Что, в принципе, хорошо, поскольку такая демократичность позволяет каждому выбирать операционку по вкусу.

Итак, Theme API. Честно говоря, я ожидал, что MS выпустит вместе с XP Common Controls 2. Очевидно, что стандартных и общих элементов управления в GUI, скажем так, маловато по сравнению с Delphi. Использовать ActiveX противно. Вместо этого Билли предложил нам Theme API. Фактически это просто шестая версия библиотеки Common Controls (comctl32.dll), которая, и это очень важно, бинарно несовместима с предыдущими версиями этой библиотеки.

Содержание  Вперед на стр. 040-076-2