Привет. Как загрузить файл через следующий ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager [BootExecute] = ?
А autochk.exe - это разве сервис? Он то грузится. Какие функции можно использовать в момент загрузки - вот в чем вопрос-то?
BootExecute программы выполняются до запуска каких-либо подсистем (win32,LSA etc ), т.е. в проге можно юзать только native API (соответственно линковать с ключом /SUBSYSTEM:NATIVE )
pinok Ищи по ключу NATIVE здесь или по BootExecute в гугле - найдешь кучу информации. Я сам остановился на выдаче на экран ( выдал hello ). Есть пример для работы с клавиатурой, но я не добрался до этого. В любом случае программирование не такое как в WIN32 и графику задействовать можно только очень сильно попотев - собственно пока неизвестно как, хотя есть DiskCommander от Winternals, который это умеет.
valterg Чтобы "заюзать графику" нужно писать драйвер для прямого доступа к видеопамяти. А так - только вывод текста с помощью NtDisplayString; pinok Можно использовать все Nt* и Rtl* функции.
Я писал пример, где целый шелл организован с поддержкой примитивных команд. Например, если нужно чтото пошаманить до старта подсистемы вин32. Работа с клавой примитивна - ZwReadFile на \Device\KeyboardClass0 и получаем структуру KEYBOARD_INPUT_DATA Исходники могу дать.
Great Вопрос есть. Существует ли способ в boot-time выводить текст в произвольное место экрана? У меня получался только возврат на начало строки "\r"
Проблема в том, что NtDsisplayString это просто аналог для ядерной VidDisplayString. Есть ядерная VidDisplayStringXY, но для нее нет юзермодного враппера. То есть либо писать драйвер, который обесечит враппер, либо перерисовывать каждый раз экран заново
Дайте две!!! В том смысле, что интересно будет многим, имхо. Я тут пытаюсь экспериментировать с консолью восстановления. Заменил spcmdcon.sys на свой дров, дров грузиццо, исполняется его код. Если начинаю выводить строки на экран, то под "Virtual PC" работает, на реальной машине имею BSOD с руганью на IRQL. Куда копать, не подскажете? Кодом пока загромождать не буду. Замечу, что видеокарта далеко не "8800 и новее". Недобук с процессором atom, видео Mobile i945.
Недавно опять поднимался вопрос про IRQL - криво написан драйвер, однозначно. Процессор атом как раз наводит на мысли, что на этом железе есть дополнительные тонкости при написании драйверов - ищите инфу. Я в этом деле ноль.
Проверил на настольном с DualCore - работает. Переустановил на атоме консоль (от безысходности), теперь 0x0000008E. Может, это особенности чипсета, а не проца? Спасибо, бум разбираться.