русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

События


Дата добавления: 2014-10-07; просмотров: 582; Нарушение авторских прав


 

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

 

Сбрасываемые вручную события (manual-reset events) могут сигнализиро­вать одновременно всем потокам, ожидающим наступления этого события, и переводятся в несигнальное состояние программно.

Автоматически сбрасываемые события (auto-reset event) сбрасываются са­мостоятельно после освобождения одного из ожидающих потоков, тогда как другие ожидающие потоки продолжают ожидать перехода события в сигнальное состояние.

 

События используют пять новых функций: CreateEvent, OpenEvent, SetEvent, ResetEvent и CreateEvent.
HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpsa, BOOL bManualReset, BOOL bInitialState, LPTCSTR lpEventName)
Чтобы создать событие, сбрасываемое вручную, необходимо установить зна­чение параметра bManualReset равным True. Чтобы сделать на­чальное состояние события сигнальным, установить равным True значение параметра bInitialState. Для открытия именованного объекта события ис­пользуется функция OpenEvent, это может сделать и другой процесс.

Для управления объектами событий используются следующие три функции:

  • BOOL SetEvent (HANDLE hEvent)
  • BOOL ResetEvent (HANDLE hEvent)
  • BOOL PulseEvent (HANDLE hEvent)

 

Использование функцииShellExecute


#include <shellapi.h>
// открыть страницу в сети Интернет
ShellExecute(NULL, "open", "http://www.MyWebPage.com", NULL, NULL, SW_SHOWNORMAL);
// открыть текстовый файл, расположенный в папке программы
ShellExecute ( NULL, "open", "Readmy.txt", NULL, NULL, SW_SHOWNORMAL);
// вывести на печать файл Word из текущей папки
ShellExecute(NULL, "print", "Document.doc", NULL, NULL, SW_SHOWMINIMIZED);
// найти папку Windows на корневом диске
ShellExecute(NULL, "find", "c:\\Windows", NULL, NULL, SW_HIDE);
// просмотреть папку Windows
ShellExecute(NULL,"explore","c:\\Windows",NULL,NULL, SW_SHOWNORMAL);
// написать письмо
LPCTSTR lpMail = "mailto:MyBox@service.com?subject=Anekdot \&cc=MyBox@service.com";
ShellExecute ( NULL, NULL, lpMail, NULL, NULL, SW_SHOWNORMAL);
// запустить программу из текущей папки
ShellExecute ( NULL, NULL, "MyProgramm.exe", "-mycommand", NULL, SW_SHOWNORMAL) ;
// просмотреть графический файл
ShellExecute(NULL,"open","d:\\images\\pricol.bmp",NULL,NULL,SW_SHOWNORMAL)



 

Кроме основной функции ShellExecute, существует ее расширенный вари­ант, именуемый ShellExecuteEx. Отличается она, дополни­тельной поддержкой свойств объектов СОМ. В большинстве случаев достаточно возможностей базовой функции.

Лекция 6



<== предыдущая лекция | следующая лекция ==>
Обработка сообщений | Ресурсы программ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.17 сек.