aboutsummaryrefslogtreecommitdiff
path: root/x86.c
diff options
context:
space:
mode:
Diffstat (limited to 'x86.c')
-rw-r--r--x86.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/x86.c b/x86.c
index e26271e..12bde66 100644
--- a/x86.c
+++ b/x86.c
@@ -54,6 +54,25 @@ char *get_sys_product() {
strcpy(vendor, get_sys_product_darwin());
rstrip(vendor);
}
+#elif defined(_WIN32) || defined(_WIN64)
+ HKEY data;
+ long result;
+ DWORD size = sizeof(vendor) - 1;
+ result = RegOpenKeyExA(HKEY_LOCAL_MACHINE,
+ "SYSTEM\\CurrentControlSet\\Control\\SystemInformation",
+ 0,
+ KEY_READ,
+ &data);
+ if (!result) {
+ if (!RegQueryValueEx(data,
+ "SystemProductName",
+ 0,
+ NULL,
+ (LPBYTE) vendor,
+ &size)) {
+ RegCloseKey(data);
+ }
+ }
#endif
return vendor;
}