- Вы работаете в ДОС или Windows?
- Нет, я работаю в милиции.
Нужно воспользоваться функцией GetVersion(). Она в старшем слове возвращает версию Dos'a, а в младшем - Windows
procedure TForm1.Button1Click(Sender: TObject);
var
WinVersion, DosVersion: Word;
begin
WinVersion := GetVersion and $0000FFFF;
DosVersion := GetVersion shr 16;
Label1.Caption:=IntToStr(Hi(DosVersion))+'.'+IntToStr(Lo(DosVersion));
Label2.Caption:=IntToStr(Lo(WinVersion))+'.'+IntToStr(Hi(WinVersion));
end;
Here is the translation of the text into Russian:
Код на Delphi, предназначенный для определения версии операционных систем DOS и Windows.
Вот разбивка того, что каждый раздел делает:
Функция GetVersion используется для получения информации о текущей операционной системе. В старых версиях Windows эта функция возвращает 16-разрядное значение, содержащее версию DOS в нижнем байте (16 бит) и версию Windows в верхнем байте (16 бит). В новых версиях Windows нижний байт содержит основной номер версии Windows, а верхний байт - дополнительный номер.
Переменная WinVersion присваивается результат функции GetVersion, побитовое И с $0000FFFF, что маскирует верхний байт (версия Windows) и оставляет только нижний байт (версия DOS). Это эффективно дает нам версию DOS.
Переменная DosVersion присваивается результат функции GetVersion, смещенный вправо на 16 бит, что эффективно извлекает верхний байт (версия Windows).
Затем строки Label1.Caption и Label2.Caption отображают версии DOS и Windows в формате, понятном человеку, с помощью функции IntToStr.
Этот код можно использовать в приложении Delphi с кнопкой. Когда кнопка нажата, она отображает версии DOS и Windows в двух метках.
Обратите внимание, что этот код работает только на компьютере, который имеет оба DOS и Windows установлены, например, на старом ПК, который dual-боотится DOS и Windows. Если вы запускаете этот код на современном компьютере, который имеет только Windows установлен (и не имеет DOS), то функция GetVersion вернет информацию о версии Windows, но не о версии DOS.
В статье описывается, как использовать функцию GetVersion для определения версии операционных систем DOS и Windows в приложении на языке Delphi.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.