Таймер в Windows как устройство ввода информации, которое извещает приложение о том, что истек заданный интервал времени. Работа с таймером в условиях WinAPI, процесс 32-битного программирования на ассемблере под Windows. Результат выполнения программы.
Поэтому операционную систему Windows нагляднее изучать, используя именно этот язык. Более пространный ответ на данный вопрос содержал бы в себе рассуждение о том, что ассемблер может понадобиться для оптимизации кода программ, написания драйверов, трансляторов, программирования некоторых внешних устройств и т.д. Программирование на ассемблере дает ощущение власти над компьютером, а жажда власти - один из сильнейших инстинктов человека. Что касается операционной системы Windows, то здесь, как ни странно это прозвучит для уха некоторых программистов, программировать на ассемблере гораздо легче, чем в операционной системе MS DOS.Таймер в Windows является устройством ввода информации, которое периодически извещает приложение о том, что истек заданный интервал времени. Ваша программа задает Windows интервал, как бы говоря системе:"Подталкивай меня каждые 10 секунд." Тогда Windows посылает вашей программе периодические сообщения WM_TIMER, сигнализируя об истечении интервала времени. Сначала таймер Windows может показаться менее важным устройством ввода, чем клавиатура или мышь, и, конечно, это верно для многих приложений Windows. Но таймер более полезен, чем вы можете подумать, и не только для программ, которые индицируют время, таких как программа Windows clock, появляющаяся на панели задач. А ожидаемый таймер позволяет ждать любому числу потоков, и, если это таймер со сбросом вручную, при его освобождении может пробуждаться сразу несколько потоков.Если в ответ на срабатывание таймера Вы собираетесь выполнять какие-то операции, связанные с пользовательским интерфейсом, то, по-видимому, будет легче структурировать код под таймеры User, поскольку применение ожидаемых таймеров требует от потоков ожидания не только сообщений, но и объектов ядра.Приложение не может использовать функцию RELEASEDC, чтобы освободить контекст устройства (DC), который создавался при помощи вызова функции CREATEDC ; вместо этого оно должно использовать функцию DELETEDC . Windows 98/Me, Windows 2000/XP: Чтобы получить контекст устройства (DC) для конкретного экранного монитора, используйте функцию ENUMDISPLAYMONITORS и CREATEDC . Обратите внимание!, что для функции ANSI, символы в кодовых страницах SBCS (Набора однобайтовых символов) занимают один байт каждый, в то время как большинство символов в кодовых страницах DBCS (Набора двухбайтовых символов) занимают два байта; для функций Unicode большинство текущих заданных символов Unicode (которые в формате Basic Multilingual Plane (BMP) занимают одно слово (WORD), в то время как заменители символа Unicode - два слова (WORD). Однако, приложение может вызывать функцию SETTEXTALIGN с параметром FMODE установленным в TA_UPDATECP, чтобы разрешить системе использовать и модифицировать текущую позицию каждый раз, когда прикладная программа вызывает функцию TEXTOUT для заданного контекста устройства. MB_HELP Windows 95/98/Me, Windows NT® 4.0 и выше: Добавляет в окно сообщения кнопку Справка (Help).#define BS_PUSHBUTTON 0x00000000L // кнопка в окне должна быть видимой #define WS_VISIBLE 0x10000000L // центрировать текст на кнопке #define BS_CENTER 0x00000300LВ процессе выполнения курсовой работы были получены теоретические сведения о таймерах Windows, для реализации программы было изучено 32-битное программирование, освоены такие программы, как MASM32(основной компилятор), MASM Builder(графическая оболочка MASM32), RESEDIT(редактор ресурсов), OLLYDBG(отладчик от стороннего разработчика).
План
Оглавление
Введение
1 Теоретические сведения о таймерах Windows
2 Описание используемых WINAPI функций
3 Текст программы
4 Результат выполнения программы
Выводы
Введение
Большинство операционных систем написаны преимущественно на языке ассемблера. Поэтому операционную систему Windows нагляднее изучать, используя именно этот язык.
В первую очередь необходимо ответить на следующий вопрос: зачем нужен язык ассемблера? Самый простой и убедительный ответ на поставленный вопрос такой - затем, что это язык процессора и, следовательно, он будет нужен до тех пор, пока будут существовать процессоры. Более пространный ответ на данный вопрос содержал бы в себе рассуждение о том, что ассемблер может понадобиться для оптимизации кода программ, написания драйверов, трансляторов, программирования некоторых внешних устройств и т.д. Программирование на ассемблере дает ощущение власти над компьютером, а жажда власти - один из сильнейших инстинктов человека.
Что касается операционной системы Windows, то здесь, как ни странно это прозвучит для уха некоторых программистов, программировать на ассемблере гораздо легче, чем в операционной системе MS DOS. Программировать на ассемблере в Windows ничуть не сложнее чем на Си, и при этом получается компактный, эффективный и быстрый код. Работая с языками высокого уровня, мы теряем определенные алгоритмические навыки. И процесс заходит все дальше. Только ради повышения своего профессионального уровня стоит заниматься программированием на ассемблере.
Цель работы
Курсовая работа заключается в получении практических навыков по работе с таймером в условиях WINAPI, самостоятельном изучении 32-битного программирования на ассемблере под Windows и в конечном итоге написание программы, демонстрирующей усвоение полученных знаний.
Вывод
В процессе выполнения курсовой работы были получены теоретические сведения о таймерах Windows, для реализации программы было изучено 32-битное программирование, освоены такие программы, как MASM32(основной компилятор), MASM Builder(графическая оболочка MASM32), RESEDIT(редактор ресурсов), OLLYDBG(отладчик от стороннего разработчика). На основе полученных знаний с целью их закрепления была написана программа.
Размещено на
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы