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

Материал из DRKB

Как определить, запущено ли приложение в 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;


Source: Взято из http://forum.sources.ru
ID: 02083



function IsNT: bool;
var
  osv: TOSVERSIONINFO;
begin
  Result := True;
  GetVersionEx(osv);
  if osv.dwPlatformId = VER_PLATFORM_WIN32_NT then exit;
  Result := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsNt then
    ShowMessage('Running on NT')
  else
    ShowMessage('Not Running on NT');


Source: Взято с сайта http://blackman.wp-club.net/
ID: 02084