Центр справки и настройки Windows XP 3.8


Процессы в Windows - часть 16


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

Если описатели объектов ядра процессо-зависимы, то описатели окон уникальны в пределах Deskop. Поэтому одному процессу не составляет никакого труда получить и использовать описатель окна принадлежащему потоку другого процесса.

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

Пример 12. Программа находит окно с заголовком “Калькулятор” и закрывает его, посылая сообщение WM_CLOSE.

#include <windows.h>

int main(int argc, char* argv[]) { HWND hwnd = FindWindow( NULL , "Калькулятор"); if (NULL != hwnd) PostMessage(hwnd, WM_CLOSE, 0, 0 ); return 0; }

Тема оконных сообщений в Windows весьма обширна и требует для рассмотрения в отдельной статьи.

Заключение

В этой статье коротко были рассмотрены основные моменты многозадачной работы в Windows: создание и завершение процессов, синхронизация и межпроцессное общение.

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

- Microsoft Platform SDK

- Jeffrey Richter. Programming Applications for Microsoft® Windows. ISBN 1-57231-996-8

- Соломон, Руссинович. Внутреннее устройство MS Windows 2000. ISBN 5-7502-0136-8

Материал с  http://www.uinc.ru




Начало  Назад  Вперед



Книжный магазин