Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Вывести сообщение во время загрузки 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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay