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