Выключение компьютера в ХР

Тема в разделе "WASM.BEGINNERS", создана пользователем TOLSTOPUZ, 20 июн 2008.

  1. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Кто-нить делал такое:
    Нужно перехватить нажатие кнопки
    Пуск \ выключение \ выключить компьютер

    От чего плясать? Подскажите пожалуйста...

    P.S. Именно в ХР
     
  2. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    TOLSTOPUZ
    перехватить вызов NtShutdownSystem()?
     
  3. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    steelfactor
    ллоол) бегиннерс .))

    ему надо с hWnd возиться! .)
     
  4. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
  5. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    А какой хэндл у этого окошечка, господин Комер, подскажите пожалуйста, как его изловить? Есть у меня утилитка для определения ID окошек. Но когда это окно выскакивает. оно моходу модальное, то все другие окна неактивны.
     
  6. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Да нет, господин микл, есть у меня код выключения компьютера.
    Мне нужно именно перехватить нажатие этой кнопки.

    Объясню зачем...
    У меня друг, у него своя маленькая ремонтная мастерская. Попросил меня - сделай так. чтобы я в починенный компьютер мог засунуть рекламу.
    Предложение дурацкое. Но надо помочь...
    сразу возник вопрос - куда спрятать рекламу?
    Заставку на рабочий стол - как-то нагло...
    В файл? Его тут же удалят с улыбкой.

    И вдруг понял - есть всё-таки заветная кнопочка, которую вынужден постоянно нажимать любой пользователь, хочет он этого или нет.
    Осталось довести идею до ума.
     
  7. nds

    nds Member

    Публикаций:
    0
    Регистрация:
    16 июл 2007
    Сообщения:
    157
    незнаю как пользователи,
    а админы чаще кнопку на системнике нажимают :)
    или туже выключалку :)
    поменяй картинку на фоне кнопок на рекламу :)
     
  8. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Да где эта картинка прячется?
    Как поймать хендл этого окошка?
    (Кстати, если это окошко сделать побольше, антивирь заверещит? Файл-то наверное системный?)

    А то что админы выключалку нажимают - ведь всё равно можно перехватить? И запустить именно это окошко! Только сделать его не таким страшным. Или вообще своё окошко сделать. А заодно и что-нить полезное добавить. Например проверить хеш всех нужных файлов, мало ли что...
     
  9. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    ну тогда точно для универсальности надо хукать глобалку.
     
  10. nds

    nds Member

    Публикаций:
    0
    Регистрация:
    16 июл 2007
    Сообщения:
    157
    где прячется не помню, в ресурсах какойта длл
    у меня полностью переделанная винда стоит winxmin там эта картинка заменена
    антивирусы не ругаются потому что замена была сделана до их установки
    Прийду домой посмотрю:)
     
  11. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Глобальный хук будет хотеть много кушать ресурс, однако.
    Поэлегантней бы решить...
     
  12. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Мне кажется, тебе уже нужно домой... :)
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Мы тут не господины)

    Да это вообще по-моему не окно, его даже двигать нельзя. Хотя фиг его знает......
     
  14. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Ан нет, окно..

    Код (Text):
    1.     for (;;)
    2.     {
    3.         HWND hWnd = FindWindow (0, "Shut Down Windows");
    4.  
    5.         if (hWnd == 0) continue;
    6.  
    7.         printf("Found! hWnd = %08x\n", hWnd);
    8.  
    9.         Sleep(300);
    10.     }
     
  15. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Каким инструментом ты это изловил?
    Я в этом новичок.
     
  16. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Код на Си в моем посте приведен.
     
  17. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Great У Фленова в "Программирование на С++ глазами хакера" (в Инете есть chm) была похожая штука - там он заставлял окно "Пуск" уползать от мыши, чтобы по "Пуску" не кликнули
     
  18. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Есть ли инструмент, позволяющий смотреть в реальном времени всё что происходит в системе, делать точки остановки, т.е. видеть пошагово, что и как происходит в системе, какие хендлы и окна, какие процессы?
     
  19. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    есть, отладчик называется.

    Не понял как соотносится мой пример поиска handle окна
     
  20. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Какой именно отладчик?
    Есть у меня Олли, что я им могу операционную систему смотреть, ловить нужные мне функции?