В данной работе рассматриваются способы получения системной информации о компьютере:
1. Определение полной информации о ЦП средствами Delphi.
2. Определение полной информации о BIOS средствами Delphi.
3. Определение полной информации о разделах HDD средствами Delphi.
4. Определение полной информации об HDD средствами Delphi.
5. Определение полной информации об использовании клавиатуры средствами Delphi.
6. Определение полной информации о системной плате средствами Delphi.
7. Определение полной информации об использовании mouse средствами Delphi.
8. Определение полной информации о видеокарте средствами Delphi.
9. Определение полной информации о мониторе средствами Delphi.
10. Определение полной информации о сетевых адаптерах средствами Delphi.
11. Определение информации о запущенных приложениях средствами Delphi.
12. Сбор всех данных в один текстовый файл и транспортировка его на сервер в указанную папку.
13. Сбор информации о дате и времени запуска и завершения Windows (подсчет времени работы ПК).
14. Сбор информации о дате и времени входа и выхода из системы определенного пользователя (подсчет времени сколько каждый пользователь провел в системе).
Большинство примеров опирается на Windows API. Робота их подразумевается только под WIN32 (лишь отдельные функции работают под WIN32s).
Иногда Delphi-приложениям может не хватать функциональной полноты стандартной библиотеки компонентов и тогда бывает необходимо обратиться к Microsoft Win32 API (Application Programming Interface - интерфейса взаимодействия прикладной программы с операционной системой). Почти все функции из Microsoft Win32 API описаны в модуле windows.pas (который по умолчанию включается в секцию uses новых модулей). Следует заметить, что часть из этих функции ведет себя по-разному в зависимости от текущей операционной системы (Windows 95, 98, NT).
Разработаем программу, показывающую нам некоторую системную информацию о компьютере. В частности, хотелось бы получить информацию о свойствах экрана, ресурсах памяти, имени пользователя и компьютера, дате BIOS.
1.1 Windows API
API был изначально спроектирован для использования в программах, написанных на языке C (или C++). Работа через Windows API - это наиболее близкий к системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.
Windows API (application programming interfaces) - общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows. Для создания программ, использующих Windows API, «Майкрософт» выпускает SDK, который называется Platform SDK и содержит документацию, набор библиотек, утилит и других инструментальных средств.
С каждым выпуском новой операционной системы обновляется версия Windows API. Ниже перечислены версии:
Win16 - первая версия Windows API для 16-разрядных версий Windows. Изначально назывался просто Windows API, затем стал называться Win16 для отличия от Win32.s - подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x и реализующее ограниченный набор функций Win32 API для этих систем - 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции этого API реализованы в DLL kernel32.dll и advapi32.dll; базовые модули GUI - в user32.dll и gdi32.dll. Win32 появился вместе с Windows NT и затем был перенесён (в несколько ограниченном виде) в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUI обеспечивают два модуля: csrss.exe (Client/Server Runtime Subsystem), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системных Win32 API обеспечивает ядро - ntoskrnl.exe- 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows XP и Windows Server 2003.
Центральный процессор - процессор машинных инструкций, часть аппаратного обеспечения компьютера или программируемого логического контроллера, отвечающая за выполнение арифметических операций, заданных программами операционной системы и координирующий работу всех устройств компьютера.
При выборе среды реализации сравнивают программные продукты и пользуются различными средствами разработки приложений. Использование возможностей средств разработки приложений позволяет автоматизировать процесс разработки. Инструментальные средства позволяют:
- создавать интерфейс, используя стандартные компоненты;
- передавать управление процессам, в зависимости от состояния системы;
- создавать оболочки для баз данных, как и сами базы данных;
- разрабатывать более надежные программы путем обработки исключительных ситуаций возникающих при некорректной работе программы.
Современные средства разработки характеризуются параметрами:
- поддержка объектно-ориентированного стиля программирования;
- возможность использования CASE-технологий, как для проектирования разрабатываемой системы, так и для разработки моделей реляционных баз данных;
- использование визуальных компонент для наглядного проектирования интерфейса;
- поддержка БД.
Выше перечисленными свойствами обладают языки программирования:
- Visual Fox Pro;
- Delphi;
- Visual C++.
Каждое из этих средств содержит весь спектр современного инструментария, который был перечислен ранее. Главное отличие состоит в области использования рассматриваемых средств.
Для реализации данного проекта была выбрана Delphi. При решении поставленной задачи оптимально использовать для представления информационных материалов язык Delphi, который является языком высокого уровня и позволяет быстро и эффективно создавать приложения.
Для реализации данной ИС была выбрана система программирования Delphi версии 7 фирмы Enterprise (Borland), так как она предоставляет наиболее широкие возможности для программирования приложений ОС Windows.
Delphi – это продукт Borland International для быстрого создания приложений. Высокопроизводительный инструмент визуального построения приложений включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в Microsoft Visual Basic или в других инструментах визуального проектирования. В основе Delphi лежит язык Object Pascal, который является расширением объектно-ориентированного языка Pascal.
Узнать информацию о BIOS можно 2-мя способами.
1. Использовать Assembler.
2. Второй способ распадается на 2-ва, это связано с ОС.
Итак, в Win 9x необходимую информацию можно узнать по фиксированному адресу в памяти $FFFF5.
Например: infoBIOS: array[0..7] of char absolute $FFFF5;
Хочу заметить, что по фиксированным адресам можно узнать не только информацию о BIOS’e, но и о типе ПК, видео адаптере и другой аппаратуре). В WinXP, 2000, Vista информацию о BIOS’e можно узнать в реестре (жаль, но в NT системах мы не сможем получить прямой доступ к адресам, которые нам необходимы).
Итак, данные берем здесь: HKEY_LOCAL_MACHINE / HARDWARE / DESCRIPTION / System (в Vista есть еще ветка BIOS, там вся необходимая информация). Ключи VideoBiosDate – дата видео БИОС, SystemBiosDate – системная дата БИОС, SystemBiosVersion – версия БИОС. Небольшой пример приведен в листинге номер 1.
Листинг 1 – Информация о BIOS
В настоящее время компьютеры внедряются во все отрасли человеческой деятельности. Они помогают автоматизировать процессы, на выполнение которых требуется много времени.
Данный курсовой проект является актуальным и отвечает предъявленным к нему требованиям. Была разработана и написана, на языке программирования высокого уровня Borland Delphi 7 программа, позволяющая осуществить просмотр сведений о ресурсах системы персонального компьютера.
Интерфейс разработанной программы совместим с Windows-интерфейсом благодаря тому, что программа, в которой разрабатывалась курсовая работа, - Delphi 7 - предоставляет такую возможность и поддерживает именно Windows - интерфейс. Все пункты курсового задания были выполнены, разработанное программное средство выполняет поставленную перед ним задачу.
Конечно, разработанная программа не планирует конкурировать с программами, которые уже довольно давно облегчили нам задачу выяснения необходимых параметров компьютера, не затрачивая на это лишнего времени, пример такой программы прекрасно демонстрирует SiSoftware Sandra.
Усовершенствование подобных программ открывает перед нами множество возможностей, с каждым днём компьютерная отрасль продолжает развиваться, и любое сведение о системе не останется незамеченным.
Скриншоты программы

1. Архангельский А.Я. Delphi 7 Справочное пособие. - М.: Бином-Пресс. -2004. -1024 с.
2. Архангельский А.Я. Программирование в Delphi 7 + дискета, М.: Бином, 2005. – 987 с.
3. Боголюбов С.А. Комментарий к Земельному кодексу Российской Федерации / С.А.Боголюбов, Е.Л.Минина. [текст] – М.: Норма, 2002. –528 с.
4. Болтянский В.Г. Математические методы оптимального управления.– Гл. ред. физ.-мат. лит-ры, М.: 1966.–308с.
5. Варламов, А.А. Мониторинг земель: Учебное пособие / А.А. Варламов, С.Н. Захарова, С.А. Гальченко; TACIS FDRUS 9702. [текст] – М.: МСХА, 2000, - 107 с. – (Укрепление реформ в сел. хоз-ве посредством образования).
6. ГИС'97. Программно-аппаратное обеспечение, фонд цифрового материала, геоинформатика в России, ежегодный обзор. – М.: ГИС-ассоциация, 1997.–273с.
7. Глушаков С.В., Клевцов А.Л., Программирование в среде Delphi 7.0, Фолио 2003 – 415 с.
8. Данчул А.Н. Информатика. Учебник, Изд-во РАГС, 2004. – 280 с.
9. Законодательство о государственной регистрации прав на недвижимое имущество и сделок с ним / Сост. П.В. Краменников. – 2-е изд. перераб. и доп. [текст] – М.: Спарк, 1999. – 145 с.
10. Земельное законодательство Российской Федерации: Сб. нормат. документов / Сост. М.В. Бархатов, А.В. Мазуров. [текст] – М.: Юрайт- Издат, 2002. – 585 с.
11. Информационное обеспечение земельного кадастра: Учебное пособие / А.А. Варламов, С.А. Гальченко, В.В. Тезиков и др. [текст] – М.: ГУЗ, 1999. – 87 с.
12. Карпова И.В., Машинцов Е.А., Сергеев А.В. Построение тематических карт заболеваемости по г. Туле в ГИС-постановке // VIII Международный экологический симпозиум. Екатеринбург: Институт промышленной экологии, 2000, С.318-321
13. Комментарий к Земельному кодексу Российской Федерации (постатейный) / С.А. Боголюбов, Е.А. Галиновская, Д.Б. Горохов и [др]. [текст] – М.: Былина, 2002. – 378 с.
14. Недвижимость в Москве: Приватизация, продажа, аренда, покупка, обмен: Сб. нормат. актов с комментариями / Сост. А.С. Владимирова. [текст]- М.: Агенство «Бизнес-информ», 1997.- 340 с.
15. Попов В.В. Программирование в Delphi. Оптимальный подход, Век, 2005.-150 с.
16. Проектирование информационных систем: Методическая разработка / Банкрутенко В.В. – Нижний Новгород, 1997. – 256 с.