Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Изменить свойства системы

01.01.2007
Когда вы вызываете контекстное меню на иконке "Моего компьютера" и щёлкаете на команде "Свойства" - вы видите свойства системы. Эта статья позволит вам внести туда любой свой собственный текст и даже поместить рисунок!

Для начала давайте заглянем в папку 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.
 
 

https://delphiworld.narod.ru/

DelphiWorld 6.0