在PC上,有一种方法可以做,因为这篇文章建议How to check the machine type? laptop or desktop?
我需要在Mac上做同样的事情。提前致谢。
答案 0 :(得分:3)
实现这一目标的一种方法是获得机器模型:
#include <sys/sysctl.h>
size_t len = 0;
sysctlbyname("hw.model", NULL, &len, NULL, 0);
char* model = (char*)malloc(len + 1);
memset(model, 0, len + 1);
sysctlbyname("hw.model", model, &len, NULL, 0);
printf("%s", model);
free(model)
在我的MBP打印&#34; MacBookPro5,5&#34;。其他型号包括&#34; MacBookAir&#34;,&#34; iMac&#34;,&#34; Macmini&#34;,&#34; MacPro&#34;。所以,如果有&#34; book&#34;在模型名称中,它可能是笔记本电脑:
if (strcasestr("book", model)) {
// This is laptop
}