我有一个Delphi应用程序,可以在MacOS 10.9.5 Yosemite下的PlayOnMac中顺利运行。
它具有最小化TrayBar应用程序的功能。由于Mac没有TrayBar的概念,如果应用程序在Mac上运行,我想禁用此功能。
检查Windows版本不是一个选项,因为PlayOnMac通过模拟Windows API并报告操作系统是Windows XP,很好地模糊了主机操作系统是Mac的事实。
如何检测应用程序是否在PlayOnMac中运行?
答案 0 :(得分:6)
由于PlayOnmac engine uses Wine,您可以尝试使用wine_get_version
在 ntdll.dll 模块上搜索wine_nt_to_unix_file_name
和LoadLibrary
方法GetProcAddress
函数。
另外尝试这些资源。
答案 1 :(得分:0)
您的应用在仿真系统中运行。它认为它在Windows上运行,它根本看不到MacOS。因此,除非PlayOnMac的仿真以某种方式在模拟GetSystemInfo()
或注册表或Windows应用程序可以访问的其他地方进行报告,否则应用程序根本就没有任何线索。这就是仿真的全部内容。