Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Изменить свойства системы


Нынешние системные администраторы - всего лишь беспомощная детвора по сравнению с Администратором Системы И. В. Сталиным.

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

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

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay