Автозагрузка через Session Manager - [BootExecute] - ?

Тема в разделе "WASM.WIN32", создана пользователем pinok, 8 мар 2005.

  1. pinok

    pinok New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2005
    Сообщения:
    7
    Адрес:
    Питер
    Привет.

    Как загрузить файл через следующий ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

    [BootExecute] = ?
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Программа будет загружена перед запуском графической оболочки, так что придется писать сервис.
     
  3. pinok

    pinok New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2005
    Сообщения:
    7
    Адрес:
    Питер
    А autochk.exe - это разве сервис? Он то грузится.



    Какие функции можно использовать в момент загрузки - вот в чем вопрос-то?
     
  4. nrg

    nrg New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    5
    BootExecute программы выполняются до запуска каких-либо подсистем (win32,LSA etc ), т.е. в проге можно юзать только native API (соответственно линковать с ключом /SUBSYSTEM:NATIVE )
     
  5. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    pinok



    Ищи по ключу NATIVE здесь

    или по BootExecute в гугле - найдешь

    кучу информации. Я сам остановился на выдаче

    на экран ( выдал hello ). Есть пример для работы

    с клавиатурой, но я не добрался до этого.

    В любом случае программирование не такое

    как в WIN32 и графику задействовать можно только

    очень сильно попотев - собственно пока неизвестно

    как, хотя есть DiskCommander от Winternals,

    который это умеет.
     
  6. SysProger

    SysProger New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    127
    А где ты видел этот пример?

    А вообще исходники программ от sysinternals где-нибудь можно достать?
     
  7. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    http://forum.sysinternals.com/forum_posts.asp?TID=8872&PD=1
     
  8. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    это получается это программа будет работать в r0?
     
  9. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    2FED
    Нет, в r3
     
  10. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    valterg
    Чтобы "заюзать графику" нужно писать драйвер для прямого доступа к видеопамяти.
    А так - только вывод текста с помощью NtDisplayString;

    pinok
    Можно использовать все Nt* и Rtl* функции.
     
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Я писал пример, где целый шелл организован с поддержкой примитивных команд. Например, если нужно чтото пошаманить до старта подсистемы вин32.
    Работа с клавой примитивна - ZwReadFile на \Device\KeyboardClass0 и получаем структуру KEYBOARD_INPUT_DATA
    Исходники могу дать.
     
  12. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Great
    Вопрос есть.
    Существует ли способ в boot-time выводить текст в произвольное место экрана?
    У меня получался только возврат на начало строки "\r"
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Проблема в том, что NtDsisplayString это просто аналог для ядерной VidDisplayString.
    Есть ядерная VidDisplayStringXY, но для нее нет юзермодного враппера. То есть либо писать драйвер, который обесечит враппер, либо перерисовывать каждый раз экран заново
     
  14. SysProger

    SysProger New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    127
    Скинь.
     
  15. ant

    ant Member

    Публикаций:
    0
    Регистрация:
    19 мар 2008
    Сообщения:
    118
    Дайте две!!! В том смысле, что интересно будет многим, имхо.
    Я тут пытаюсь экспериментировать с консолью восстановления. Заменил spcmdcon.sys на свой дров, дров грузиццо, исполняется его код. Если начинаю выводить строки на экран, то под "Virtual PC" работает, на реальной машине имею BSOD с руганью на IRQL. Куда копать, не подскажете? Кодом пока загромождать не буду.
    Замечу, что видеокарта далеко не "8800 и новее". Недобук с процессором atom, видео Mobile i945.
     
  16. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Недавно опять поднимался вопрос про IRQL - криво написан драйвер, однозначно.
    Процессор атом как раз наводит на мысли, что на этом железе есть дополнительные тонкости при написании драйверов - ищите инфу. Я в этом деле ноль.
     
  17. ant

    ant Member

    Публикаций:
    0
    Регистрация:
    19 мар 2008
    Сообщения:
    118
    Проверил на настольном с DualCore - работает. Переустановил на атоме консоль (от безысходности), теперь 0x0000008E. Может, это особенности чипсета, а не проца?
    Спасибо, бум разбираться.