如何检测哪个操作系统正在运行该程序?

时间:2011-11-30 19:25:42

标签: operating-system pascal fpc

我正在构建一个可能有不同任务的应用程序,具体取决于运行它的操作系统,因此我想知道是否有任何方法可以检测操作系统并将其存储在变量中。

1 个答案:

答案 0 :(得分:1)

因为您必须为每个操作系统编译单独的可执行文件,所以您可以使用{$IFDEF}

{$IFDEF MACOS} // Mac OSX
{$IFDEF WIN64} // Windows 64 bit
{$IFDEF WIN32} // Windows 32 bit app 
{$IFDEF Linux} // Linux
{$IFDEF UNIX}  // UNIX

您可以使用SysUtils.TOSVersion.Architecture从32位应用中区分Win32和Win64;可能的值为arIntelX86arIntelX64,一般(不考虑“位数”)Windows和MacOS之间的TOSVersion.Platform