БОЛЬШОЙ FAQ ПО DELPHI



Как определить, запущено ли приложение?

Умирает Питер Нортон. На том свете ему за многочисленные заслуги перед компьтерщиками всего мира предлагают выбрать место жительства - Рай или Ад. Походил Нортон по Раю, посмотрел - Ангелы на лирах играют, нектар пьют - скучно. Пошел на Ад посмотреть. Заходит, а там Билл Гейтс за компом сидит - клавиши топчет. Глянул на это дело Питер и пулей к Богу: "Все - говорит - хочу в Аду жить!". Бог начинает выяснять причину такого выбора, Нортон объясняет про скуку в Раю и что в Аду Билл Гейтс за компом развлекается. На что Бог отвечает Нортону: - Он не развлекается - это у него Адское наказание. - Какое ?! - Он пишет 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);
 begin
   if IsNt then
     ShowMessage('Running on NT')
   else
     ShowMessage('Not Running on NT');
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ