Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Получить дату BIOS

Delphi , ОС и Железо , BIOS

Получить дату BIOS

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

function GetBiosDate1: String;
 var
    Buffer : Array[0..8] Of Char;
    N : DWORD;
 begin
    ReadProcessMemory(GetCurrentProcess,
    Ptr($FFFF5),
    @Buffer,
    8,
    N);
    Buffer[8] := #0;
    result := StrPas(Buffer)
 end;

 function GetBiosDate2: String;
 begin
    result := string(pchar(ptr($FFFF5)));
 end;


 {Only for Win 95/98/ME) 

Here is the translation of the text into Russian:

Функция GetBiosDate1

Эта функция использует API-вызов ReadProcessMemory для чтения данных из конкретной памяти адреса $FFFF5, который, вероятно, является адресом даты BIOS в системе. Размер буфера установлен в 8 символов (Array[0..8] Of Char). После чтения данных, она добавляет null-символ (Buffer[8] := #0) и затем конвертирует содержимое буфера в строку с помощью StrPas. Результат возвращается как строка.

Функция GetBiosDate2

Эта функция использует более простой подход. Она напрямую кастует памяти адрес $FFFF5 в тип PChar, который является указателем на символ, и конвертирует его в строку с помощью конструктора строки. Заметим, что этот подход может не быть столь надежным, как первый, потому что он не учитывает потенциальные переполнения буфера или неправильные типы данных.

Примечание: Комментарий {Only for Win 95/98/ME) указывает, что эти функции специфичны для операционных систем Windows 95, 98 и ME, поэтому они могут не работать на более новых системах.

Краткое резюме:

  • GetBiosDate1 использует ReadProcessMemory для чтения данных из указанного адреса и конвертирует их в строку.
  • GetBiosDate2 напрямую кастует памяти адрес в тип PChar и конвертирует его в строку.
  • Обе функции специфичны для операционных систем Windows 95, 98 и ME.

Обратите внимание, что эти коды довольно старые и могут не работать на современных системах или с более новыми версиями BIOS. Если вы ищете более надежное решение,consider using alternative methods, such as reading the BIOS date from a system registry key or using a third-party library.

Функция GetBiosDate позволяет получить дату BIOS компьютера, используя функции ReadProcessMemory и Ptr из библиотеки Windows.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: BIOS ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:25:20/0.0055630207061768/1