скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Вывести сообщение во время загрузки Windows




Звонит пpогpаммеp на pадио и гpит:
- Поставьте мне песню гpyппы "Любэ" пpо загpyзкy компьютеpа. Ведyщий:
- Что-то я не помню y гpyппы "Любэ" такой песни, напомните текст! Пpогpаммеp:
- "Com.bat, батяня, батяня, Com.bat"

Очень часто мы видим, что во время загрузки Windows на чётном экране выводится какой-то текст. Но как дописать туда что-нибудь своё? Хороший вопрос. Это можно сделать с помощью файла Autoexec.bat, находящегося в корневом каталоге.

Давайте откроем его, вписав в командную строку ("Пуск">"Выполнить") следующее:


SysEdit

Эта команда позволяет вызвать редактор системных файлов. Самый верхний и будет Autoexec.bat. Добавим следующее и перезагрузим машину:


@echo off
@echo Attention
@echo System error. File kernel.dll is fail. Press any key for format C
pause

  • директива @echo off позволяет отключить вывод echo
  • директива @echo позволяет вывести сообщение
  • директива pause позволяет задержать загрузку Windows - нужно, чтобы пользователь обязательно заметил наше сообщение!..

И что же мы видим, ещё до того как загрузится Windows, появится строка, гласящая, что произошла системная ошибка. Итак, неопытный пользователь, увидев такое сообщение, не поймёт откуда оно взялось и будет всерьёз ошеломлён. Нажать какую-нибудь клавишу осмелится не каждый... но, в последствии, когда, несколько раз перезагрузив компьютер... он обнаружит то же сообщение, ему уже ничего не останется сделать, как рискнуть... Да, выставить кого-нибудь чайником - занятие чрезмерно приятное... И наша очередная задача - сделать всё это из Delphi

Объявляем файловую переменную класса TextFile и массив строк в публичных объявлениях (после ключевого слова Public):


public
  { Public declarations }
  f: TextFile;
  t: array [1..4] of string;

По нажатию простого "батона" пишем код:


procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  assignfile(f, 'c:\autoexec.bat');
  Append(f);
  t[1]:='@echo off';
  t[2]:='@echo Attention';
  t[3]:='@echo System error. File kernel.dll is fail. Press any key for format C';
  t[4]:='pause';
  for i := 1 to 4 do
    writeln(f,t[i]);
  closefile(f);
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook