N>Итак, вопросы: N>1. Пример драйвера в ddk полноценный? На его базе возможно написать аналог радмина?
Нет. Да — только в качестве базы.
N>2. Пример программы, использующей этот драйвер, в ddk законченный? т.е. должен ли он показывать кусок экрана или нет? Просто чтобы знать, что у меня что-то не так как у всех с системой.
Нет.
N>3. Каков порядок действий, при подписывании своей программы на изменения экрана? Вначале я так понял идёт это: N>======================== N>1. в реестре проставляем 1 в значении Attach.ToDesktop. N>2. выполняем ChangeDisplaySettingsEx — видимо драйвер перечитывает реестр и цепляется к экрану, если там 1. N>3. дальше идёт кусок кода: N>который я видел в примерах и без драйвера (только там было GetDC(0) — с рабочего стола, видимо) — это снимок с нашего mirror-устройства, я так понял. Но вот чего я не понял, так почему, когда я заменяю deviceName на любую другую надпись, всё работает как и работало — разве не должен был CreateDC вернуть 0? N>========================
Должен. И возвращает.
N>дальше начинается неразбериха — если оповещение драйвером об изменениях происходит через оконные сообщения, то как окно из CreateMyWindow подписывается на эти сообщения? или оповещения рассылаются всем окнам?
Там просто заготовка — никакого обмена нет. Смотрите ExtEscape, впрочем, можно и другие механизмы использовать — как в обычных драйверах. Но будут проблемы с синхронизацией, которая в ExtEscape выполняется автоматически.