Как определить, запущено ли приложение в Windows NT
Умирает Питер Нортон. На том свете ему за многочисленные заслуги перед компьтерщиками всего мира предлагают выбрать место жительства - Рай или Ад.
Походил Нортон по Раю, посмотрел - Ангелы на лирах играют, нектар пьют - скучно. Пошел на Ад посмотреть. Заходит, а там Билл Гейтс за компом сидит - клавиши топчет. Глянул на это дело Питер и пулей к Богу: "Все - говорит - хочу в Аду жить!". Бог начинает выяснять причину такого выбора, Нортон объясняет про скуку в Раю и что в Аду Билл Гейтс за компом развлекается. На что Бог отвечает Нортону:
- Он не развлекается - это у него Адское наказание.
- Какое ?!
- Он пишет MicrosoftOffice, чтоб работал по OS/2 на ЕС-1840.
Следующий кодкомпилируется как на 16-ти, так и на 32-битных платформах.
{$IFNDEF WIN32}const
WF_WINNT = $4000;
{$ENDIF}function IsNT : bool;
{$IFDEF WIN32}var
osv : TOSVERSIONINFO;
{$ENDIF}begin
result := true;
{$IFDEF WIN32}
GetVersionEx(osv);
if osv.dwPlatformId = VER_PLATFORM_WIN32_NT then
exit;
{$ELSE}if ((GetWinFlags and WF_WINNT) = WF_WINNT ) then
exit;
{$ENDIF}
result := false;
end;
procedure TForm1.Button1Click(Sender: TObject);
beginif IsNt then
ShowMessage('Running on NT')
else
ShowMessage('Not Running on NT');
end;
Статья Как определить, запущено ли приложение в Windows NT раздела ОС и Железо Windows может быть полезна для разработчиков на delphi & pascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.