Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



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

Очень часто мы видим, что во время загрузки 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 begin
writeln(f,t[i]);
end;
closefile(f);
end;
Как это сделано?
Сначала мы присваиваем файловой переменой файл Autoexec.bat:
assignfile(f,'c:\autoexec.bat');
Затем, используя функцию Append, добавляем текстовые строки массива f в файл. Строками массива является уже известный нам код, который мы вписывали в Autoexec.bat.
Функция writeln(f,t[i]); вписывает в цикле поочерёдно элементы массива в файл f. После того как мы внесли изменения, остаётся только закрыть файл с помощью следующей строки кода:
closefile(f);




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS