Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы

Грудь 2 размера подробности здесь.

Листинг 5.18. Файл wast\wast.cpp - часть 3


// Закрываем драйвер CloseDriver(hDriver, NULL, NULL);

return msg.wParam; }

Первое, что делает функция WinMain - открывает загружаемый драйвер, вызывая для этого функцию OpenDriver.

Затем приложение получает идентификатор текущей задачи (т. е. свой идентификатор задачи), и регистрирует его в загружаемом драйвере, посылая тому сообщение UDRV_REGISTERTASK.

Далее запускается цикл обработки сообщений.

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

После этого запускаем приложение функцией LoadModule.

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

При поступлении в очередь сообщения WM_UNLOADWAST работа приложения wast.exe завершается. Напомним, что это сообщение посылается приложению при удалении загружаемого драйвера.

Перед завершением своей работы приложение wast.exe отменяет регистрацию и закрывает загружаемый драйвер.

Все пользовательские сообщения определены в файле wast.hpp (листинг5.19).




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



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