7#ifndef SYSTEMINFORMATION_P_H
8#define SYSTEMINFORMATION_P_H
20#include <sys/utsname.h>
23 struct passwd *
p = getpwuid(getuid());
24 return QString::fromLatin1(
p->pw_name);
29 struct utsname unameBuf;
31 return QString::fromUtf8(unameBuf.sysname) +
32 QStringLiteral(
" (") + QString::fromUtf8(unameBuf.machine) + QLatin1String(
") ") +
33 QStringLiteral(
"release ") + QString::fromUtf8(unameBuf.release);
37#include <qt_windows.h>
44 WCHAR nameBuffer[256];
46 if (!GetUserNameExW(NameDisplay, nameBuffer, &bufsize)) {
47 return QStringLiteral(
"Unknown User");
49 return QString::fromWCharArray(nameBuffer);
52static inline QString windowsVersionString() {
53 QString productVersion = QSysInfo::productVersion();
54 if (productVersion ==
"unknown")
return QStringLiteral(
"Unknown Windows");
55 return "Windows " + productVersion;
61 GetNativeSystemInfo(&info);
63 switch (info.wProcessorArchitecture) {
64 case PROCESSOR_ARCHITECTURE_AMD64:
65 case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64:
66 arch = QStringLiteral(
" (x86_64)");
68 case PROCESSOR_ARCHITECTURE_INTEL:
69 arch = QStringLiteral(
" (x86)");
71 case PROCESSOR_ARCHITECTURE_ARM:
72 arch = QStringLiteral(
" (ARM)");
74 case PROCESSOR_ARCHITECTURE_ARM64:
75 arch = QStringLiteral(
" (ARM64)");
78 arch = QStringLiteral(
" (unknown architecture)");
82 return windowsVersionString() + arch;