Windows Delphi XE2是否删除了IsWinNT函数?

Windows Delphi XE2是否删除了IsWinNT函数?,windows,delphi,delphi-xe2,virtualtreeview,Windows,Delphi,Delphi Xe2,Virtualtreeview,移植到XE2,我得到了一行在7和Delphi 2009中编译的IsWinNT,以前从未给过我们任何废话 我不确定这样一个函数的目的是什么,但它是被删除还是被移动了 什么是可比函数 我的错,是在虚拟树里。对不起,伙计们,给我一个。免费+1的房子在Delphi 2009中,没有IsWinNT功能。此外,没有像这样命名的Windows API函数。您很可能感到困惑:也许IsWinNT是您使用的某个第三方库的一部分 无论如何,如果您只针对Windows平台,那么您可以按如下方式实现该功能 functi

移植到XE2,我得到了一行在7和Delphi 2009中编译的
IsWinNT
,以前从未给过我们任何废话

我不确定这样一个函数的目的是什么,但它是被删除还是被移动了

什么是可比函数



我的错,是在虚拟树里。对不起,伙计们,给我一个。免费+1的房子

在Delphi 2009中,没有
IsWinNT
功能。此外,没有像这样命名的Windows API函数。您很可能感到困惑:也许
IsWinNT
是您使用的某个第三方库的一部分

无论如何,如果您只针对Windows平台,那么您可以按如下方式实现该功能

function IsWinNT: boolean;
begin
  result := true;
end;

因为自XP(包括XP)以来的每个Windows版本都是基于NT的。

我不知道这样的功能,但您可以使用此代码

if Win32Platform = VER_PLATFORM_WIN32_NT then 

仅供参考,Delphi XE2仅在基于WinNT的系统上运行

我在我的Delphi(D6、D2010、DXE2)中找不到该函数。我会像这样测试NT:

Win32Platform = VER_PLATFORM_WIN32_NT
这个测试在XE2上有点多余,因为它不再支持针对非NT版本的Windows。我最近没有在Win9x上运行XE2生成的可执行文件,所以我不知道这样做是否会失败

在XE2中,您现在可以使用。例如,要检查您是否在Windows XP或更高版本上运行,只需执行以下操作:

if (TOSVersion.Platform=pfWindows) and (TOSVersion.Check(5, 1)) then
  ...

是的,代码是
IsWinNT:=(Win32Platform和VER_PLATFORM\u win32nt)0Windows95、98和ME都是在WindowsNT3之后发布的。1@Joe怀特:那是不正确的。Windows ME是在Windows 2000发布几个月后发布的。但是95、98和ME并不是基于NT技术的。@LURD确实如此,在我看来,这使得Andreas的功能有点奇怪。也许我遗漏了一些细微差别。@David:显示了这些细节。(中文:“无法访问给定的设备、路径或文件。”和“应用程序启动时出错。文件%s需要更新版本的Windows。升级Windows。”)我有一台旧的HP Vectrave 200和Windows 95,此外,我在VirtualBox内的主计算机上安装了Windows 95。