Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

·  ActiveX, COM и OLE. Эти технологии предназначены для создания объектов, распределенных между приложениями. Они включают в себя создание контейнеров и серверов OLE, реализующих вставку объектов OLE в документы приложений-контейнеров (например, как редактор формул в MS Word), автоматизацию OLE, интерфейс "перетащи и оставь" и элементы управления ActiveX. В настоящее время Microsoft использует ActiveX в качестве основного механизма взаимодействия прикладных программ с системными службами Windows.

·  TAPI предоставляет доступ к телефонному оборудованию. Это аппаратно-независимый интерфейс для работы с модемами, факс-модемами, аппаратурой голосовой телефонии.

В Windows есть отдельные API для работы с сетями, например, WinSock (библиотека сокетов Windows), RAS (Remote Access Service, сервис удаленного доступа) и RPC (библиотека вызова удаленных процедур).

При программировании на Си с использованием API исходный текст программ получается довольно громоздким. Программирование существенно упрощается при использовании библиотек классов вроде MFC и языка Си++. Но еще одно изменение стиля программирования происходит на уровне API. В прошлом, когда компания Microsoft включала в Windows новую возможность, она также расширяла описание интерфейса API – набора системных вызовов. Сейчас многие новые механизмы Windows (например, DirectX) не поддерживают традиционного API. Вместо этого они используют технологию ActiveX. Термином ActiveX теперь принято обозначать последние версии стандартов, которые ранее назывались OLE и COM.

НЕ нашли? Не то? Что вы ищете?

4.5 Соглашение о кодах ошибок

Большинство функций Windows API применяют единый способ возврата ошибок. Когда происходит ошибка, эти функции записывают ее код в специальную переменную потока. Приложение может получить значение этой переменной с помощью функции GetLastError. 32-разрядные значения кодов ошибок определены в заголовочном файле winerror. h и в заголовочных файлах дополнительных API.

Функции приложения также могут записывать собственные коды ошибок в эту переменную с помощью функции SetLastError. Внутренние ошибки приложения должны иметь коды с установленным 29-м битом. Этот диапазон кодов специально зарезервирован для использования приложениями в собственных целях.

5. Различия между программными платформами

5.1 Windows NT

В Windows NT реализован наиболее полный вариант Win32 API. Начиная с версии 4.0, в Windows NT тот же пользовательский интерфейс, что и у Windows 95.

В WinNT реализована полная внутренняя поддержка двухбайтной символьной кодировки Unicode, мощные средства безопасности и серверные возможности. WinNT предоставляет больше удобств программам-серверам, чем Win95. Полностью 32-разрядная система, WinNT оказывается наиболее устойчивой и лучше всего подходящей для разработки программного обеспечения.

С другой стороны, WinNT является более медленной и требовательной к аппаратной ресурсам. Для работы WinNT необходимо 32 Мб ОЗУ и порядка 1 Гб жесткого диска (хотя в настоящее время это не чрезмерные требования).

Некоторые части API модуля Kernel специфичны для WinNT. В NT Kernel есть набор функций для проверки и модификации свойств безопасности объектов ядра. Например, поток не сможет работать с файловым объектом, если он не имеет прав доступа, соответствующих свойствам безопасности файлового объекта.

У модулей GDI WinNT и Win95 есть различия в области преобразования координат. В Win95 координаты задаются 16-разрядными числами (для обеспечения совместимости со старыми программами для Windows 3.1). В WinNT координаты являются 32-разрядными, что делает эту ОС более удобной для сложных графических приложений, например, для программ САПР.

5.2 Windows 95

Хотя в Win95 нет многих возможностей WinNT, но она обеспечивает более высокую производительность и совместимость со старыми приложениями и дешевым и старым оборудованием. Большинство возможностей, отсутствующих в Win95, не важны для домашнего применения или для рабочих станций.

В Win95 нет средств безопасности NT и поддержки Unicode. С другой стороны, поддержка DirectX API в Win95 реализована полнее и эффективнее, чем в WinNT.

Для обеспечения переносимости на разные процессоры большая часть кода WinNT была разработана на относительно высоком уровне – на языках Си/Си++. В Win95 включено большое количество специфического для микропроцессоров кода из Windows 3.1. Существенный объем нового кода также был оптимизирован именно для этих микропроцессоров. Поэтому требования к ресурсам у Win95 меньше и эта ОС неплохо работает на старых машинах, например, на ПК с процессором 486.

Для Visual C++ система Win95 обеспечивает полностью работоспособную среду разработки. Эта ОС стабильна, хотя и не настолько, как WinNT. Все 32-разрядные утилиты разработки Visual C++, включая консольные приложения, работают и в Win95. Для малых и средних проектов оказывается достаточно даже очень медленной машины (вроде ноутбука 25 MHz 486 CPU, 8MB RAM и 120MB HDD).

5.3 Другие платформы

Существуют версии Windows NT для компьютеров с процессорами PowerPC, DEC Alpha и MIPS. Эти реализации полностью совместимы с версией для процессоров Intel. Приложения, написанные в соответствии с документацией по API, будут перекомпилироваться для других платформ без каких-либо изменений исходного текста. Для этого необходима версия Visual C++, соответствующая версии Windows NT. Кросс-платформная разработка для Windows NT не поддерживается.

Visual C++ можно применять для разработки программ для встроенных систем и компактных компьютеров, работающих под управлением усеченной версии Windows – Windows CE. ОС Windows CE была выпущена в 1997 г. Она предназначена для портативных устройств, например, ручных компьютеров и автомобильных проигрывателей компакт-дисков. Основное назначение Windows CE – "сделать все максимально малым и компактным". В Windows CE реализовано небольшое подмножество Win32 API. Разработка программ для этой ОС производится в кросс-платформном режиме, с помощью надстройки Visual C++ for Windows CE. Эту надстройку можно использовать и в Windows NT, и в Windows 95.

6. Резюме

32-разрядные ОС Windows делятся на два семейства: Windows NT/2000 и Windows 95/98/ME. У этих ОС есть общий набор функций, доступных для вызова из приложений – Win32 API. Два семейства ОС различаются полнотой реализации Win32 API. Наиболее полная реализация выполнена в Windows NT. Для разработки программ для 32-разрядных ОС Windows можно использовать среду Visual C++.

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

Окно – это не только прямоугольная экранная область, это системный объект, обеспечивающий прием и обработку сообщений. Окна принадлежат потокам. Потоки – это одновременно исполняемые части внутри одного процесса (т. е. приложения). Потоки принадлежат процессам.

Приложения взаимодействуют с Windows, вызывая функции API. Они реализованы или в "ядре" Windows, или в одном из множества дополнительных модулей. В "ядре" можно выделить три основных части: модуль Kernel (управление памятью, файлами, потоками и процессами), модуль User (управление элементами пользовательского интерфейса, в т. ч. окнами и обработкой сообщений) и модуль GDI (функции графического отображения на различных устройствах вывода).

Остальные системные модули обеспечивают специфические возможности, например, ActiveX, MAPI, работа с сетью, стандартные элементы управления и диалоговые окна, средства мультимедиа.

7. Упражнения

1)  В [9] прочитайте приложение 2, "Основные типы сообщений Windows". В Visual C++ откройте файл winuser. h и с помощью контекстного поиска найдите описание символических идентификаторов каких-нибудь оконных сообщений WM_... , а также структуры сообщения MSG.

2)  В справочной системе Visual C++ найдите описание сообщения с требованием перерисовки окна WM_PAINT, сообщения о нажатии левой кнопки мыши WM_LBUTTONDOWN и какого-нибудь сообщения, найденного вами в файле winuser. h. Обратите внимание на смысл переменных wParam и lParam в структуре MSG для этих сообщений.

3)  Найдите в справочной системе Visual C++ описание функции API GetMessage. Выясните, как в окне справки работают кнопки "Quick Info (краткая сводка о свойствах функции)", "Overview (краткое описание группы функций)" и "Group (вызов списка функций данной категории ". Получите таким же образом справку по функции GetKeyboardState и посмотрите, какие функции входят в группу функций API для работы с клавиатурой.

4)  В [1] прочитайте Гл.3, занятие 2 "Архитектура Win32-приложения".

5)  В [1] прочитайте и выполните задания из Гл.13, занятия 6 "Применение Spy++". Особое внимание обратите на то, как получить информацию о каком-либо из имеющихся окон с помощью инструмента Finder Tool и как просмотреть протокол сообщений, посылаемых какому-либо окну.

6)  Изучите англо-русский словарь терминов по теме 1-й лекции (см. CD-ROM).

Лекция 2. Структура приложения Windows

1. Простейшее Windows-приложение "Hello, World!"

Приложение (программа 2.1), которое выводит на экран диалоговое окно, показанное на рис. 2.1, вполне можно считать аналогом классической программы "Hello, World!".

Рис. 2.1. Простейшее Windows-приложение "Hello, World!"

#include <windows. h>

int WINAPI WinMain( HINSTANCE d1, HINSTANCE d2, LPSTR d3, int d4 )

{

MessageBox( NULL, "Hello, World!", "", MB_OK );

return 0;

}

Программа 2.1. Простейшее Windows-приложения "Hello, World!".

C точки зрения программирования у этого "приложения" довольно сложное поведение. Традиционная консольная версия "Hello, World!" выводит сообщение на экран и заканчивает работу. Windows-приложение после вывода сообщения продолжает работать. На экране присутствует диалоговое окно, которое можно переместить по экрану мышью. Мышью можно нажать кнопку OK для завершения работы приложения. Если нажать мышью кнопку OK, но не отпускать левую кнопку мыши, то на экране будет видна кнопка OK, нарисованная в нажатом состоянии. Если, не отпуская кнопку мыши, перемещать указатель то на кнопку OK, то вне ее, эта кнопка будет менять свой внешний вид. У окна приложения есть небольшое меню (с единственной командой Переместить), которое можно вызвать нажатием комбинации Alt+Пробел или щелчком правой кнопки на заголовке окна. Приложение можно завершить клавишей Enter, Escape или пробел.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32