Изменить свойства системы
Материал из DRKB
Изменить свойства системы[править | править код]
Когда вы вызываете контекстное меню на иконке "Моего компьютера" и щёлкаете на команде "Свойства" - вы видите свойства системы. Эта статья позволит вам внести туда любой свой собственный текст и даже поместить рисунок!
Для начала давайте заглянем в папку System, находящуюся в директории Windows и найдём там файл инициализации с именем Oeminfo.ini, нужно его отредактировать так, чтобы он выглядел следующим образом:
[General]
Manufacturer="Производитель M$"
Model="Модель, чёта, типа, 9x"
[Support Information]
Line1="Поддержка: Delphi World ©"
Line2="Всё это написано из Delphi!"
Line3="...а Бил ГЕЙ, тс..."
Здесь, как видно, должно быть всего два раздела:
[General]
Указанные здесь данные будут отображаться в окне "Свойства: Система" на закладке "Общие".
[Support Information]
Информация о поддержки, которая будет видна в диалоговом окне появляющимся по нажатию на кнопке "Поддержка..." на той же закладке. В разделе [General] есть два параметра (Manufacturer и Model), которым можно задавать любые значения.
В разделе же информации о поддержки можно создать сколько угодно параметров.
Чтобы было ещё эффектнее можно поместить в окно свойств системы даже графический файл, для этого файл нужно сначала создать, используя любой графический редактор, учитывая главное условие - размер файла должен быть 127х127. Назвать файл нужно так: Oemlogo.bmp, а затем поместить в папку System, находящуюся в директории Windows.
Ну, а как же занести информацию в ini-файл программно?
Для взаимодействия с ini-файлами нужно сделать следующее:
- Сначала в области uses нужно объявить модуль inifiles
- Затем объявить переменную класса TIniFile
- Выделить память под этот объект, т.е. создать его с помощью метода Create
- А после уже можно заносить или считывать данные из этого ini-файла
Вид модуля должен быть примерно таким:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
inifiles; {Объявляем модуль для взаимодействия с ini-файлами}
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ по созданию окна пишем следующий код }
procedure TForm1.FormCreate(Sender: TObject);
var
APChar: array [0..254] of char; { сначала нужно узнать где у пользователя папка Windows - объявляем под это дело массив символов }
sFile: string; { объявляем текстовую переменную под имя ini-файла }
Ini: TIniFile; { и экземпляр класса TIniFile для взаимодействия с файлами инициализации }
begin
GetWindowsDirectory(APChar, 255); { узнаём, где у чудилки находится каталог Windows }
sFile := string(APChar) + '\System\Oeminfo.ini'; { в текстовую переменную помещаем имя нужного нам файла }
if FileExists(sFile) then { и если файл существует... }
begin
Ini := TIniFile.Create(sFile); { связываем объявленную переменную с этим файлом }
{ далее заносим данные, используя процедуру WriteString, т.к. данные текстового типа.
Параметры у процедуры такие: Имя раздела, Имя ключа, Вносимое значение }
Ini.WriteString('General', 'Manufacturer', '"Производитель M$"');
Ini.WriteString('General', 'Model', '"Модель, чёта, типа, 9x"');
Ini.WriteString('Support Information', 'Line1', '"Поддержка: Delphi World ©"');
Ini.WriteString('Support Information', 'Line2', '"Всё это написано из Delphi!"');
Ini.WriteString('Support Information', 'Line3', '"...а Бил ГЕЙ, тс..."');
Ini.Free; { ну, а под конец, сделав своё грязное дело, мы как порядочные... программисты - освобождаем занимаемую память }
end;
end;
end.
Source: http://delphiworld.narod.ru/
ID: 01627