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

Следующий кодкомпилируется как на 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;
 
faq/delphi/system/detect_winnt.txt · Последние изменения: 2006/05/14 14:39 (внешнее изменение)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki