Глобальный перехват Hibernate и прочего...

Тема в разделе "WASM.WIN32", создана пользователем NeoTall, 9 авг 2008.

  1. NeoTall

    NeoTall New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    4
    Всем привет...

    Как добавление к моей программе, надо прикрутить слежение за управлением питания:
    1. Отключение дисплея (код прилагается)
    2. Отключение дисков
    3. Переход в ждущий и спящий режим

    К сожалению, информации по 2 и 3 пунктам в гугле не нашел...хотя может и плохо искал.

    Отсюда вопрос:
    Можно ли из usermode осуществить перехват и блокировку 2 и 3 пунктов?..
    Буду крайне признателен за приведенный код, желательно (но не обязательно) на паскале...
     
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    3) SetSystemPowerState
     
  3. NeoTall

    NeoTall New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    4
    Т.е. надо перехват API SetSystemPowerState сделать?
     
  4. NeoTall

    NeoTall New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    4
    А "2. Отключение дисков", как поймать можно?
     
  5. NeoTall

    NeoTall New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    4
    Я к чему спросил. Просто есть еще ZwSetSystemPowerState и NtSetSystemPowerState... То, что SetSystemPowerState - позволяет вызвать из UserMode гибернат, я и так знаю... Тока вот в чем дело, в этом случае будут сообщения PBT_APMSUSPEND или PBT_APMQUERYSUSPEND. Т.е. система не пользует SetSystemPowerState.

    Есть еще идеи?
     
  6. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    йа показал куда копать, в отладчек лень было лезть смотреть к чему эта апи сводицо и подобные.