Page MenuHomedesp's stash

No OneTemporary

diff --git a/Scylla/SystemInformation.cpp b/Scylla/SystemInformation.cpp
index c4c3f27..da8918d 100644
--- a/Scylla/SystemInformation.cpp
+++ b/Scylla/SystemInformation.cpp
@@ -1,62 +1,76 @@
#include "SystemInformation.h"
OPERATING_SYSTEM SystemInformation::currenOS = UNKNOWN_OS;
bool SystemInformation::getSystemInformation()
{
OSVERSIONINFOEX osvi = {0};
SYSTEM_INFO si = {0};
def_GetNativeSystemInfo _GetNativeSystemInfo = 0;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if (!GetVersionEx((OSVERSIONINFO*) &osvi))
{
return false;
}
if ((osvi.dwMajorVersion < 5) || ((osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion == 0)))
{
return false;
}
_GetNativeSystemInfo = (def_GetNativeSystemInfo)GetProcAddress(GetModuleHandle(L"kernel32.dll"), "GetNativeSystemInfo");
if (_GetNativeSystemInfo)
{
_GetNativeSystemInfo(&si);
}
else
{
GetSystemInfo(&si);
}
- if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 && osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0)
+ bool isX64 = si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64;
+ bool isX86 = si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL;
+
+ DWORD major = osvi.dwMajorVersion;
+ DWORD minor = osvi.dwMinorVersion;
+
+ if(isX64 && major == 5 && minor == 2)
+ {
+ currenOS = WIN_XP_64;
+ }
+ else if(isX86 && major == 5 && minor == 1)
+ {
+ currenOS = WIN_XP_32;
+ }
+ if(isX64 && major == 6 && minor == 0)
{
currenOS = WIN_VISTA_64;
}
- else if(si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL && osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0)
+ else if(isX86 && major == 6 && minor == 0)
{
currenOS = WIN_VISTA_32;
}
- else if(si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 && osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 1)
+ else if(isX64 && major == 6 && minor == 1)
{
currenOS = WIN_7_64;
}
- else if(si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL && osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 1)
+ else if(isX86 && major == 6 && minor == 1)
{
currenOS = WIN_7_32;
}
- else if(si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64 && osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2)
+ else if(isX64 && major == 6 && minor == 2)
{
- currenOS = WIN_XP_64;
+ currenOS = WIN_8_64;
}
- else if(osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1)
+ else if(isX86 && major == 6 && minor == 2)
{
- currenOS = WIN_XP_32;
+ currenOS = WIN_8_32;
}
else
{
currenOS = UNKNOWN_OS;
}
return (currenOS != UNKNOWN_OS);
-}
\ No newline at end of file
+}
diff --git a/Scylla/SystemInformation.h b/Scylla/SystemInformation.h
index ccac3a4..e687a6a 100644
--- a/Scylla/SystemInformation.h
+++ b/Scylla/SystemInformation.h
@@ -1,22 +1,24 @@
#pragma once
#include <windows.h>
enum OPERATING_SYSTEM {
UNKNOWN_OS,
WIN_XP_32,
WIN_XP_64,
WIN_VISTA_32,
WIN_VISTA_64,
WIN_7_32,
WIN_7_64,
+ WIN_8_32,
+ WIN_8_64
};
typedef void (WINAPI *def_GetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo);
class SystemInformation {
public:
static OPERATING_SYSTEM currenOS;
static bool getSystemInformation();
private:
-};
\ No newline at end of file
+};

File Metadata

Mime Type
text/x-diff
Expires
Fri, Mar 14, 11:21 PM (12 h, 28 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
5b/2c/5885efcd9ecbd1c89b0231beae99

Event Timeline