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

Материал из 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