diff --git a/MUtilities_VS2022.sln b/MUtilities_VS2022.sln
new file mode 100644
index 0000000..1207c6e
--- /dev/null
+++ b/MUtilities_VS2022.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31919.166
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MUtilities", "MUtilities_VS2022.vcxproj", "{55405FE1-149F-434C-9D72-4B64348D2A08}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release_Static|x86 = Release_Static|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {55405FE1-149F-434C-9D72-4B64348D2A08}.Debug|x86.ActiveCfg = Debug|Win32
+ {55405FE1-149F-434C-9D72-4B64348D2A08}.Debug|x86.Build.0 = Debug|Win32
+ {55405FE1-149F-434C-9D72-4B64348D2A08}.Release_Static|x86.ActiveCfg = Release_Static|Win32
+ {55405FE1-149F-434C-9D72-4B64348D2A08}.Release_Static|x86.Build.0 = Release_Static|Win32
+ {55405FE1-149F-434C-9D72-4B64348D2A08}.Release|x86.ActiveCfg = Release|Win32
+ {55405FE1-149F-434C-9D72-4B64348D2A08}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {56280AAA-AE51-4B45-BFCF-7CA247FD341A}
+ EndGlobalSection
+EndGlobal
diff --git a/MUtilities_VS2022.vcxproj b/MUtilities_VS2022.vcxproj
new file mode 100644
index 0000000..54123c6
--- /dev/null
+++ b/MUtilities_VS2022.vcxproj
@@ -0,0 +1,246 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release_Static
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp"
+ $(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp;%(Outputs)
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp"
+ $(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp;%(Outputs)
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp"
+ $(SolutionDir)tmp\$(ProjectName)\MOC_%(Filename).cpp;%(Outputs)
+
+
+
+
+
+
+ Document
+ "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)"
+ "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)"
+ "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)"
+ RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp"
+ RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp"
+ RCC "$(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp"
+ $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\$(ProjectName)\QRC_%(Filename).cpp;%(Outputs)
+
+
+
+
+ true
+
+
+
+ {55405FE1-149F-434C-9D72-4B64348D2A08}
+ Win32Proj
+ MUtilities
+ MUtilities
+ 10.0.17763.0
+
+
+
+ DynamicLibrary
+ true
+ v143
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v143
+ true
+ Unicode
+
+
+ StaticLibrary
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ MUtils32-1
+
+
+ $(SolutionDir)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ MUtils32-1
+
+
+ $(SolutionDir)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ MUtils32-1
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ WIN32;MUTILS_DLL_EXPORT;_DEBUG;_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_DLL;QT_DEBUG;%(PreprocessorDefinitions)
+ MultiThreadedDebugDLL
+ NoExtensions
+ $(ProjectDir)\include;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)
+ true
+ Disabled
+ Default
+ ProgramDatabase
+
+
+ Windows
+ true
+ $(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Debug\lib;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\Win32
+ QtCored4.lib;QtGuid4.lib;Winmm.lib;Psapi.lib;Sensapi.lib;PowrProf.lib;Shlwapi.lib;Version.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+ NotUsing
+ Full
+ true
+ true
+ WIN32;MUTILS_DLL_EXPORT;NDEBUG;_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_DLL;QT_NO_DEBUG;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ NoExtensions
+ AnySuitable
+ Speed
+ true
+ false
+ Fast
+ false
+ $(ProjectDir)\include;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)
+ true
+ false
+ false
+ false
+ true
+
+
+ Windows
+ true
+ true
+ $(SolutionDir)\..\Prerequisites\Qt4\$(PlatformToolset)\Shared\lib;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\Win32
+ notelemetry.obj;QtCore4.lib;QtGui4.lib;Winmm.lib;Psapi.lib;Sensapi.lib;PowrProf.lib;Shlwapi.lib;Version.lib;%(AdditionalDependencies)
+ false
+ LinkVerboseLib
+
+
+
+
+ Level3
+ NotUsing
+ Full
+ true
+ true
+ WIN32;MUTILS_STATIC_LIB;NDEBUG;_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_NODLL;QT_NO_DEBUG;%(PreprocessorDefinitions)
+ MultiThreaded
+ NoExtensions
+ AnySuitable
+ Speed
+ true
+ false
+ Fast
+ false
+ $(ProjectDir)\include;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)
+ true
+ false
+ false
+ false
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MUtilities_VS2022.vcxproj.filters b/MUtilities_VS2022.vcxproj.filters
new file mode 100644
index 0000000..6651de9
--- /dev/null
+++ b/MUtilities_VS2022.vcxproj.filters
@@ -0,0 +1,202 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {d47fbdba-5e24-460a-bba8-824ea0fe874c}
+
+
+ {458f07b7-5414-4e9c-a599-222196e8d2e8}
+
+
+ {d5bcdb46-27a3-4772-86b4-1b30e02a30cc}
+
+
+ {6261ec8d-8041-495b-bddf-6fe07c11c952}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\3rd Party
+
+
+ Source Files\Generated
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\3rd Party
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\Generated
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\3rd Party
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Header Files
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Header Files\3rd Party
+
+
+ Header Files\3rd Party
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Header Files\3rd Party
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Header Files\3rd Party
+
+
+ Public Headers
+
+
+ Header Files
+
+
+ Public Headers
+
+
+ Public Headers
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Public Headers
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/include/MUtils/Version.h b/include/MUtils/Version.h
index 514dcea..16ea2ed 100644
--- a/include/MUtils/Version.h
+++ b/include/MUtils/Version.h
@@ -67,7 +67,13 @@ namespace MUtils
#error Compiler is not supported!
#endif
#elif defined(_MSC_VER)
- #if (_MSC_VER == 1929)
+ #if (_MSC_VER == 1930)
+ #if (_MSC_FULL_VER <= 193030706)
+ "MSVC 2022.0";
+ #else
+ #error Compiler version is not supported yet!
+ #endif
+ #elif (_MSC_VER == 1929)
#if (_MSC_FULL_VER < 192930133)
"MSVC 2019.10";
#else