0
我正在构建一个应用程序,它可能有一些不同的任务,具体取决于运行它的操作系统,所以我想知道是否有任何方法检测操作系统并将其存储在变量中。如何检测哪个操作系统正在运行该程序?
我正在构建一个应用程序,它可能有一些不同的任务,具体取决于运行它的操作系统,所以我想知道是否有任何方法检测操作系统并将其存储在变量中。如何检测哪个操作系统正在运行该程序?
因为你要编译独立的可执行文件为每个操作系统,你可以用{$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的区分;可能的值是arIntelX86
和arIntelX64
,以及Windows和MacOS之间的一般(不考虑“位”),其中。
@Nathan,感谢您对错字和附加定义的更正。 –
没问题。不客气 –
macos X实际上定义了“达尔文”。 “macos”是经典的macos,也得到了短暂的支持。 BSD也被定义为所有BSD(现在是OpenBSD,FreeBSD和Darwin/OSX) –