скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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




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

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

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






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook