Page Menu
Home
desp's stash
Search
Configure Global Search
Log In
Files
F225243
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
View Options
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
Details
Attached
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
Attached To
rSCY Scylla
Event Timeline
Log In to Comment