» Главная
eXcode.ru » Статьи » С / С++ » Система
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 8





Ведущий раздела: Madvex
Описание: Статьи о программировании под операционную систему. Работа с мышкой, клавиатурой, потоками и процессами, и тд.



«1» «2» «3» 

Основы разработки прикладных виртуальных драйверов
Как уже отмечалось ранее, виртуальные драйверы служат прежде всего для виртуализации аппаратуры, то есть для предоставления одновременно выполняемым задачам возможности совместного использования устройств компьютера. Измерительная или управляющая аппаратура, подключаемая к компьютеру с целью создания автоматизированной установки, вряд ли будет эксплуатироваться в многозадачном режиме, однако использование для ее управления виртуального драйвера может заметно сократить программные издержки и уменьшить время отклика. Рассмотрим пример виртуального драйвера, обслуживающего прерывания от описанной в предыдущей статье интерфейсной платы таймера-счетчика.


Создание простого приложения с плагинами
В этой статье описываются принципы и решения, применяемые при проектировании приложений, которые будут использовать внешние, динамически подключаемые, модули. Эта статья более ориентирована на тех, кто хочет использовать механизмы подключения/отключения функциональности приложения, наподобии механизма Aobe Photoshop или Far, а не просто многократного использования кода в разных приложениях.


Объекты OLE
OLE это сокращение от Objects Linking and Embedding, т. е. объекты связанные и внедренные. Наверняка вы знакомы с таким редактором как Word. Вспомните, что картинка, которую вы переносите в текстовый редактор, действительно может быть либо внедрённой, либо связанной. Внедрённая картинка будет храниться в файле документа, часто значительно увеличивается его объём. Связанная картинка хранится в отдельном файле, а в файле документа хранится лишь ссылка на эту картинку. В последнем случае доступ к объекту могут иметь одновременно несколько приложений, что позволяет, в частности, проводить групповую разработку документов. Сказанное, разумеется, относится не только к графическому объекту, но, к любому другому, поддерживаемому приложением.


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

Расскажу – как нужно делать.
Нужно воспользоваться API-шной функцией CreateDirectory. Функция – повторюсь, из WinAPI, в MFC ничего подобного нет. Несколько раз видел в ответ на скупой и лаконичный ответ “CreateDirectory” вопрос “Это у какого класса такой метод?”. Вопрос подобный повергает меня в смущение, но это уже оффтопик.



Как перехватить закрытие Win32 Console?
Хороший вопрос. Единственное, что мне приходит в голову - это определить HWND консольного окна, хукнуть его оконную процедуру и поймать WM_SYSCOMMAND с параметром SC_CLOSE. Не совсем понятно, что при этом делать однако же Но попробовать можно



Обработка исключений в C++.
Язык С представляет программисту очень ограниченные возможности обработки исключений, возникших при работе программы. В этом отношении С++ намного развитее С. Здесь у программиста существенно большие возможности по непосредственной обработке исключений. Комитет по разработке стандартов С++ предоставил очень простую, но мощную форму обработки исключений.


Списки и последовательный доступ.
Список как структура для хранения данных известна достаточно широко. Фактически, наверняка в любом курсе программирования ее изучают в том или ином виде. Но то, что обычно усваивает студент (читать: "будущий программист") заключается примерно в следующем:

Списки организуются на динамической памяти. Динамическая память, по мнению студента, это то, что можно получить при помощи операторов new и удалить dispose.


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


Использование "умных" указателей
Принципы использования "умных" указателей известны каждому программисту на C++. Идея предельно проста: вместо того, что бы пользоваться объектами некоторого класса, указателями на эти объекты или ссылками, определяется новый тип для которого переопределен селектор ->, что позволяет использовать объекты такого типа в качестве ссылок на реальные объекты


Hаиболее часто задаваемые вопросы по SystemTary.
Q1 Что такое System Tray ?
Q2 Как мне перенести свою программу на Tray ?
Q3 Что такое иконка на Tray ?
Q4 Как добавить иконку на Tray ?
Q5 А как ее там изменить ?
Q6 А как удалить иконку с Tray ?
Q7 Как мне узнать о воздействии мыши на иконку, находящуюся на
Tray ?
Q8 Многие программы показывают Pop-Up меню при щелчке на их иконке,
как этого добиться ?
Q9 Многие программы минимизируясь, оказываются на Tray, как это
сделать ?
Q10 Всегда ли все вышесказанное будет работать ?
Q11 А есть ли официальная информация по System Tray ?
Q12 Как сделать пункт "по умолчанию" в Pop-Up меню выделенным ?


«1» «2» «3» 

Имя:

Пароль:



Регистрация

Что вы думаете о девушках -программистах?
Ни разу таких не встречал
24% (89)
Очень любопытное зрелище
10% (36)
Мне все равно
3% (12)
Это очень сексуально!
6% (21)
Я и есть девушка -программист
11% (40)
Уважаю таких
9% (33)
Считаю это бесмысленным
6% (22)
Где бы мне найти такую?
13% (46)
Я их боюсь :)
6% (22)
Считаю, что это нормально
12% (45)

Проголосовало: 366
Сколько пользуюсь интернетом - никак не могу понять: я вхожу в интернет или я выхожу в интернет?
Рейтинг: 7.6/10 (14)
Посмотреть все анекдоты