diff --git a/examples/Makefile b/examples/Makefile
index 332e6c9d5..498a36f47 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -519,6 +519,7 @@ CORE = \
     core/core_directory_files \
     core/core_drop_files \
     core/core_high_dpi \
+    core/core_highdpi_testbed \
     core/core_input_actions \
     core/core_input_gamepad \
     core/core_input_gestures \
@@ -533,6 +534,7 @@ CORE = \
     core/core_random_values \
     core/core_render_texture \
     core/core_scissor_test \
+    core/core_screen_recording \
     core/core_smooth_pixelperfect \
     core/core_storage_values \
     core/core_undo_redo \
diff --git a/examples/Makefile.Web b/examples/Makefile.Web
index 5b34c34c7..1b32ebddf 100644
--- a/examples/Makefile.Web
+++ b/examples/Makefile.Web
@@ -519,6 +519,7 @@ CORE = \
     core/core_directory_files \
     core/core_drop_files \
     core/core_high_dpi \
+    core/core_highdpi_testbed \
     core/core_input_actions \
     core/core_input_gamepad \
     core/core_input_gestures \
@@ -533,6 +534,7 @@ CORE = \
     core/core_random_values \
     core/core_render_texture \
     core/core_scissor_test \
+    core/core_screen_recording \
     core/core_smooth_pixelperfect \
     core/core_storage_values \
     core/core_undo_redo \
@@ -761,6 +763,9 @@ core/core_drop_files: core/core_drop_files.c
 core/core_high_dpi: core/core_high_dpi.c
 	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
 
+core/core_highdpi_testbed: core/core_highdpi_testbed.c
+	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
+
 core/core_input_actions: core/core_input_actions.c
 	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
 
@@ -805,6 +810,9 @@ core/core_render_texture: core/core_render_texture.c
 core/core_scissor_test: core/core_scissor_test.c
 	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
 
+core/core_screen_recording: core/core_screen_recording.c
+	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
+
 core/core_smooth_pixelperfect: core/core_smooth_pixelperfect.c
 	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
 
diff --git a/examples/README.md b/examples/README.md
index 13f39c503..dbc36fe22 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -17,9 +17,9 @@ You may find it easier to use than other toolchains, especially when it comes to
 - `zig build [module]` to compile all examples for a module (e.g. `zig build core`)
 - `zig build [example]` to compile _and run_ a particular example (e.g. `zig build core_basic_window`)
 
-## EXAMPLES COLLECTION [TOTAL: 183]
+## EXAMPLES COLLECTION [TOTAL: 185]
 
-### category: core [42]
+### category: core [44]
 
 Examples using raylib[core](../src/rcore.c) platform functionality like window creation, inputs, drawing modes and system functionality.
 
@@ -66,6 +66,8 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c
 | [core_undo_redo](core/core_undo_redo.c) |  | ⭐⭐⭐☆ | 5.5 | 5.6 | [Ramon Santamaria](https://github.com/raysan5) |
 | [core_input_actions](core/core_input_actions.c) |
 | ⭐⭐⭐☆ | 5.5 | 5.6 | [Ramon Santamaria](https://github.com/raysan5) |
 | [core_input_actions](core/core_input_actions.c) |  | ⭐⭐☆☆ | 5.5 | 5.6 | [Jett](https://github.com/JettMonstersGoBoom) |
 | [core_directory_files](core/core_directory_files.c) |
 | ⭐⭐☆☆ | 5.5 | 5.6 | [Jett](https://github.com/JettMonstersGoBoom) |
 | [core_directory_files](core/core_directory_files.c) |  | ⭐☆☆☆ | 5.5 | 5.6 | [Hugo ARNAL](https://github.com/hugoarnal) |
+| [core_highdpi_testbed](core/core_highdpi_testbed.c) |
 | ⭐☆☆☆ | 5.5 | 5.6 | [Hugo ARNAL](https://github.com/hugoarnal) |
+| [core_highdpi_testbed](core/core_highdpi_testbed.c) |  | ⭐☆☆☆ | 5.5 | 5.6 | [](https://github.com/) |
+| [core_screen_recording](core/core_screen_recording.c) |
 | ⭐☆☆☆ | 5.5 | 5.6 | [](https://github.com/) |
+| [core_screen_recording](core/core_screen_recording.c) |  | ⭐☆☆☆ | 5.5 | 5.6 | [](https://github.com/) |
 | [core_clipboard_text](core/core_clipboard_text.c) |
 | ⭐☆☆☆ | 5.5 | 5.6 | [](https://github.com/) |
 | [core_clipboard_text](core/core_clipboard_text.c) |  | ⭐☆☆☆ | 5.6-dev | 5.6-dev | [Robin](https://github.com/RobinsAviary) |
 
 ### category: shapes [31]
diff --git a/examples/core/core_highdpi_testbed.c b/examples/core/core_highdpi_testbed.c
new file mode 100644
index 000000000..b22aa507a
--- /dev/null
+++ b/examples/core/core_highdpi_testbed.c
@@ -0,0 +1,70 @@
+/*******************************************************************************************
+*
+*   raylib [core] example - highdpi testbed
+*
+*   Example complexity rating: [★☆☆☆] 1/4
+*
+*   Example originally created with raylib 5.5, last time updated with raylib 5.6
+*
+*   Example contributed by  (@) and reviewed by Ramon Santamaria (@raysan5)
+*
+*   Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
+*   BSD-like license that allows static linking with closed source software
+*
+*   Copyright (c) 0  (@)
+*
+********************************************************************************************/
+
+#include "raylib.h"
+
+//------------------------------------------------------------------------------------
+// Program main entry point
+//------------------------------------------------------------------------------------
+int main(void)
+{
+    // Initialization
+    //--------------------------------------------------------------------------------------
+    const int screenWidth = 800;
+    const int screenHeight = 450;
+
+    InitWindow(screenWidth, screenHeight, "raylib [core] example - highdpi testbed");
+
+    // TODO: Load resources / Initialize variables at this point
+
+    SetTargetFPS(60);
+    //--------------------------------------------------------------------------------------
+
+    // Main game loop
+    while (!WindowShouldClose())    // Detect window close button or ESC key
+    {
+        // Update
+        //----------------------------------------------------------------------------------
+        // TODO: Update variables / Implement example logic at this point
+        //----------------------------------------------------------------------------------
+
+        // Draw
+        //----------------------------------------------------------------------------------
+        BeginDrawing();
+
+            ClearBackground(RAYWHITE);
+
+            // TODO: Draw everything that requires to be drawn at this point
+
+            DrawLineEx((Vector2){ 0, 0 }, (Vector2){ screenWidth, screenHeight }, 2.0f, RED);
+            DrawLineEx((Vector2){ 0, screenHeight }, (Vector2){ screenWidth, 0 }, 2.0f, RED);
+            DrawText("example base code template", 260, 400, 20, LIGHTGRAY);
+
+        EndDrawing();
+        //----------------------------------------------------------------------------------
+    }
+
+    // De-Initialization
+    //--------------------------------------------------------------------------------------
+
+    // TODO: Unload all loaded resources at this point
+
+    CloseWindow();        // Close window and OpenGL context
+    //--------------------------------------------------------------------------------------
+
+    return 0;
+}
diff --git a/examples/core/core_highdpi_testbed.png b/examples/core/core_highdpi_testbed.png
new file mode 100644
index 000000000..da99bbb0d
Binary files /dev/null and b/examples/core/core_highdpi_testbed.png differ
diff --git a/examples/core/core_screen_recording.c b/examples/core/core_screen_recording.c
new file mode 100644
index 000000000..9d0611bde
--- /dev/null
+++ b/examples/core/core_screen_recording.c
@@ -0,0 +1,70 @@
+/*******************************************************************************************
+*
+*   raylib [core] example - screen recording
+*
+*   Example complexity rating: [★☆☆☆] 1/4
+*
+*   Example originally created with raylib 5.5, last time updated with raylib 5.6
+*
+*   Example contributed by  (@) and reviewed by Ramon Santamaria (@raysan5)
+*
+*   Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
+*   BSD-like license that allows static linking with closed source software
+*
+*   Copyright (c) 0  (@)
+*
+********************************************************************************************/
+
+#include "raylib.h"
+
+//------------------------------------------------------------------------------------
+// Program main entry point
+//------------------------------------------------------------------------------------
+int main(void)
+{
+    // Initialization
+    //--------------------------------------------------------------------------------------
+    const int screenWidth = 800;
+    const int screenHeight = 450;
+
+    InitWindow(screenWidth, screenHeight, "raylib [core] example - screen recording");
+
+    // TODO: Load resources / Initialize variables at this point
+
+    SetTargetFPS(60);
+    //--------------------------------------------------------------------------------------
+
+    // Main game loop
+    while (!WindowShouldClose())    // Detect window close button or ESC key
+    {
+        // Update
+        //----------------------------------------------------------------------------------
+        // TODO: Update variables / Implement example logic at this point
+        //----------------------------------------------------------------------------------
+
+        // Draw
+        //----------------------------------------------------------------------------------
+        BeginDrawing();
+
+            ClearBackground(RAYWHITE);
+
+            // TODO: Draw everything that requires to be drawn at this point
+
+            DrawLineEx((Vector2){ 0, 0 }, (Vector2){ screenWidth, screenHeight }, 2.0f, RED);
+            DrawLineEx((Vector2){ 0, screenHeight }, (Vector2){ screenWidth, 0 }, 2.0f, RED);
+            DrawText("example base code template", 260, 400, 20, LIGHTGRAY);
+
+        EndDrawing();
+        //----------------------------------------------------------------------------------
+    }
+
+    // De-Initialization
+    //--------------------------------------------------------------------------------------
+
+    // TODO: Unload all loaded resources at this point
+
+    CloseWindow();        // Close window and OpenGL context
+    //--------------------------------------------------------------------------------------
+
+    return 0;
+}
diff --git a/examples/core/core_screen_recording.png b/examples/core/core_screen_recording.png
new file mode 100644
index 000000000..da99bbb0d
Binary files /dev/null and b/examples/core/core_screen_recording.png differ
diff --git a/examples/examples_list.txt b/examples/examples_list.txt
index 7d55d09cf..7abfdd453 100644
--- a/examples/examples_list.txt
+++ b/examples/examples_list.txt
@@ -48,6 +48,8 @@ core;core_render_texture;★☆☆☆;5.6-dev;5.6-dev;2025;2025;"Ramon Santamari
 core;core_undo_redo;★★★☆;5.5;5.6;2025;2025;"Ramon Santamaria";@raysan5
 core;core_input_actions;★★☆☆;5.5;5.6;2025;2025;"Jett";@JettMonstersGoBoom
 core;core_directory_files;★☆☆☆;5.5;5.6;2025;2025;"Hugo ARNAL";@hugoarnal
+core;core_highdpi_testbed;★☆☆☆;5.5;5.6;0;0;"";@
+core;core_screen_recording;★☆☆☆;5.5;5.6;0;0;"";@
 shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;2014;2025;"Ramon Santamaria";@raysan5
 shapes;shapes_bouncing_ball;★☆☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5
 shapes;shapes_bullet_hell;★☆☆☆;5.6;5.6;2025;2025;"Zero";@zerohorsepower
diff --git a/projects/VS2022/examples/core_highdpi_testbed.vcxproj b/projects/VS2022/examples/core_highdpi_testbed.vcxproj
new file mode 100644
index 000000000..89675f5ed
--- /dev/null
+++ b/projects/VS2022/examples/core_highdpi_testbed.vcxproj
@@ -0,0 +1,569 @@
+
+
+  
+    
+      Debug.DLL
+      ARM64
+    
+    
+      Debug.DLL
+      Win32
+    
+    
+      Debug.DLL
+      x64
+    
+    
+      Debug
+      ARM64
+    
+    
+      Debug
+      Win32
+    
+    
+      Debug
+      x64
+    
+    
+      Release.DLL
+      ARM64
+    
+    
+      Release.DLL
+      Win32
+    
+    
+      Release.DLL
+      x64
+    
+    
+      Release
+      ARM64
+    
+    
+      Release
+      Win32
+    
+    
+      Release
+      x64
+    
+  
+  
+    {6B1A933E-71B8-4C1F-9E79-02D98830E671}
+    Win32Proj
+    core_highdpi_testbed
+    10.0
+    core_highdpi_testbed
+  
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+  
+  
+  
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;shcore.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+      {e89d61ac-55de-4482-afd4-df7242ebc859}
+    
+  
+  
+  
+  
+
\ No newline at end of file
diff --git a/projects/VS2022/examples/core_screen_recording.vcxproj b/projects/VS2022/examples/core_screen_recording.vcxproj
new file mode 100644
index 000000000..1669c6ac7
--- /dev/null
+++ b/projects/VS2022/examples/core_screen_recording.vcxproj
@@ -0,0 +1,569 @@
+
+
+  
+    
+      Debug.DLL
+      ARM64
+    
+    
+      Debug.DLL
+      Win32
+    
+    
+      Debug.DLL
+      x64
+    
+    
+      Debug
+      ARM64
+    
+    
+      Debug
+      Win32
+    
+    
+      Debug
+      x64
+    
+    
+      Release.DLL
+      ARM64
+    
+    
+      Release.DLL
+      Win32
+    
+    
+      Release.DLL
+      x64
+    
+    
+      Release
+      ARM64
+    
+    
+      Release
+      Win32
+    
+    
+      Release
+      x64
+    
+  
+  
+    {6B1A933E-71B8-4C1F-9E79-02D98830E671}
+    Win32Proj
+    core_screen_recording
+    10.0
+    core_screen_recording
+  
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+  
+  
+  
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;shcore.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+      {e89d61ac-55de-4482-afd4-df7242ebc859}
+    
+  
+  
+  
+  
+
\ No newline at end of file
diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln
index 601b3d409..20b7ad9bb 100644
--- a/projects/VS2022/raylib.sln
+++ b/projects/VS2022/raylib.sln
@@ -387,6 +387,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_mouse_trail", "examp
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_starfield", "examples\shapes_starfield.vcxproj", "{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_highdpi_testbed", "examples\core_highdpi_testbed.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_screen_recording", "examples\core_screen_recording.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug.DLL|ARM64 = Debug.DLL|ARM64
@@ -4793,6 +4797,54 @@ Global
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}.Release|x64.Build.0 = Release|x64
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}.Release|x86.ActiveCfg = Release|Win32
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}.Release|x86.Build.0 = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -4988,6 +5040,8 @@ Global
 		{AC215730-2B5F-4498-B7F5-5DB80AEFCA5F} = {278D8859-20B1-428F-8448-064F46E1F021}
 		{0835E6BF-0170-4E99-A55C-E06E1EF4C3B2} = {278D8859-20B1-428F-8448-064F46E1F021}
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91} = {278D8859-20B1-428F-8448-064F46E1F021}
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29}
 | ⭐☆☆☆ | 5.6-dev | 5.6-dev | [Robin](https://github.com/RobinsAviary) |
 
 ### category: shapes [31]
diff --git a/examples/core/core_highdpi_testbed.c b/examples/core/core_highdpi_testbed.c
new file mode 100644
index 000000000..b22aa507a
--- /dev/null
+++ b/examples/core/core_highdpi_testbed.c
@@ -0,0 +1,70 @@
+/*******************************************************************************************
+*
+*   raylib [core] example - highdpi testbed
+*
+*   Example complexity rating: [★☆☆☆] 1/4
+*
+*   Example originally created with raylib 5.5, last time updated with raylib 5.6
+*
+*   Example contributed by  (@) and reviewed by Ramon Santamaria (@raysan5)
+*
+*   Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
+*   BSD-like license that allows static linking with closed source software
+*
+*   Copyright (c) 0  (@)
+*
+********************************************************************************************/
+
+#include "raylib.h"
+
+//------------------------------------------------------------------------------------
+// Program main entry point
+//------------------------------------------------------------------------------------
+int main(void)
+{
+    // Initialization
+    //--------------------------------------------------------------------------------------
+    const int screenWidth = 800;
+    const int screenHeight = 450;
+
+    InitWindow(screenWidth, screenHeight, "raylib [core] example - highdpi testbed");
+
+    // TODO: Load resources / Initialize variables at this point
+
+    SetTargetFPS(60);
+    //--------------------------------------------------------------------------------------
+
+    // Main game loop
+    while (!WindowShouldClose())    // Detect window close button or ESC key
+    {
+        // Update
+        //----------------------------------------------------------------------------------
+        // TODO: Update variables / Implement example logic at this point
+        //----------------------------------------------------------------------------------
+
+        // Draw
+        //----------------------------------------------------------------------------------
+        BeginDrawing();
+
+            ClearBackground(RAYWHITE);
+
+            // TODO: Draw everything that requires to be drawn at this point
+
+            DrawLineEx((Vector2){ 0, 0 }, (Vector2){ screenWidth, screenHeight }, 2.0f, RED);
+            DrawLineEx((Vector2){ 0, screenHeight }, (Vector2){ screenWidth, 0 }, 2.0f, RED);
+            DrawText("example base code template", 260, 400, 20, LIGHTGRAY);
+
+        EndDrawing();
+        //----------------------------------------------------------------------------------
+    }
+
+    // De-Initialization
+    //--------------------------------------------------------------------------------------
+
+    // TODO: Unload all loaded resources at this point
+
+    CloseWindow();        // Close window and OpenGL context
+    //--------------------------------------------------------------------------------------
+
+    return 0;
+}
diff --git a/examples/core/core_highdpi_testbed.png b/examples/core/core_highdpi_testbed.png
new file mode 100644
index 000000000..da99bbb0d
Binary files /dev/null and b/examples/core/core_highdpi_testbed.png differ
diff --git a/examples/core/core_screen_recording.c b/examples/core/core_screen_recording.c
new file mode 100644
index 000000000..9d0611bde
--- /dev/null
+++ b/examples/core/core_screen_recording.c
@@ -0,0 +1,70 @@
+/*******************************************************************************************
+*
+*   raylib [core] example - screen recording
+*
+*   Example complexity rating: [★☆☆☆] 1/4
+*
+*   Example originally created with raylib 5.5, last time updated with raylib 5.6
+*
+*   Example contributed by  (@) and reviewed by Ramon Santamaria (@raysan5)
+*
+*   Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
+*   BSD-like license that allows static linking with closed source software
+*
+*   Copyright (c) 0  (@)
+*
+********************************************************************************************/
+
+#include "raylib.h"
+
+//------------------------------------------------------------------------------------
+// Program main entry point
+//------------------------------------------------------------------------------------
+int main(void)
+{
+    // Initialization
+    //--------------------------------------------------------------------------------------
+    const int screenWidth = 800;
+    const int screenHeight = 450;
+
+    InitWindow(screenWidth, screenHeight, "raylib [core] example - screen recording");
+
+    // TODO: Load resources / Initialize variables at this point
+
+    SetTargetFPS(60);
+    //--------------------------------------------------------------------------------------
+
+    // Main game loop
+    while (!WindowShouldClose())    // Detect window close button or ESC key
+    {
+        // Update
+        //----------------------------------------------------------------------------------
+        // TODO: Update variables / Implement example logic at this point
+        //----------------------------------------------------------------------------------
+
+        // Draw
+        //----------------------------------------------------------------------------------
+        BeginDrawing();
+
+            ClearBackground(RAYWHITE);
+
+            // TODO: Draw everything that requires to be drawn at this point
+
+            DrawLineEx((Vector2){ 0, 0 }, (Vector2){ screenWidth, screenHeight }, 2.0f, RED);
+            DrawLineEx((Vector2){ 0, screenHeight }, (Vector2){ screenWidth, 0 }, 2.0f, RED);
+            DrawText("example base code template", 260, 400, 20, LIGHTGRAY);
+
+        EndDrawing();
+        //----------------------------------------------------------------------------------
+    }
+
+    // De-Initialization
+    //--------------------------------------------------------------------------------------
+
+    // TODO: Unload all loaded resources at this point
+
+    CloseWindow();        // Close window and OpenGL context
+    //--------------------------------------------------------------------------------------
+
+    return 0;
+}
diff --git a/examples/core/core_screen_recording.png b/examples/core/core_screen_recording.png
new file mode 100644
index 000000000..da99bbb0d
Binary files /dev/null and b/examples/core/core_screen_recording.png differ
diff --git a/examples/examples_list.txt b/examples/examples_list.txt
index 7d55d09cf..7abfdd453 100644
--- a/examples/examples_list.txt
+++ b/examples/examples_list.txt
@@ -48,6 +48,8 @@ core;core_render_texture;★☆☆☆;5.6-dev;5.6-dev;2025;2025;"Ramon Santamari
 core;core_undo_redo;★★★☆;5.5;5.6;2025;2025;"Ramon Santamaria";@raysan5
 core;core_input_actions;★★☆☆;5.5;5.6;2025;2025;"Jett";@JettMonstersGoBoom
 core;core_directory_files;★☆☆☆;5.5;5.6;2025;2025;"Hugo ARNAL";@hugoarnal
+core;core_highdpi_testbed;★☆☆☆;5.5;5.6;0;0;"";@
+core;core_screen_recording;★☆☆☆;5.5;5.6;0;0;"";@
 shapes;shapes_basic_shapes;★☆☆☆;1.0;4.2;2014;2025;"Ramon Santamaria";@raysan5
 shapes;shapes_bouncing_ball;★☆☆☆;2.5;2.5;2013;2025;"Ramon Santamaria";@raysan5
 shapes;shapes_bullet_hell;★☆☆☆;5.6;5.6;2025;2025;"Zero";@zerohorsepower
diff --git a/projects/VS2022/examples/core_highdpi_testbed.vcxproj b/projects/VS2022/examples/core_highdpi_testbed.vcxproj
new file mode 100644
index 000000000..89675f5ed
--- /dev/null
+++ b/projects/VS2022/examples/core_highdpi_testbed.vcxproj
@@ -0,0 +1,569 @@
+
+
+  
+    
+      Debug.DLL
+      ARM64
+    
+    
+      Debug.DLL
+      Win32
+    
+    
+      Debug.DLL
+      x64
+    
+    
+      Debug
+      ARM64
+    
+    
+      Debug
+      Win32
+    
+    
+      Debug
+      x64
+    
+    
+      Release.DLL
+      ARM64
+    
+    
+      Release.DLL
+      Win32
+    
+    
+      Release.DLL
+      x64
+    
+    
+      Release
+      ARM64
+    
+    
+      Release
+      Win32
+    
+    
+      Release
+      x64
+    
+  
+  
+    {6B1A933E-71B8-4C1F-9E79-02D98830E671}
+    Win32Proj
+    core_highdpi_testbed
+    10.0
+    core_highdpi_testbed
+  
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+  
+  
+  
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;shcore.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+      {e89d61ac-55de-4482-afd4-df7242ebc859}
+    
+  
+  
+  
+  
+
\ No newline at end of file
diff --git a/projects/VS2022/examples/core_screen_recording.vcxproj b/projects/VS2022/examples/core_screen_recording.vcxproj
new file mode 100644
index 000000000..1669c6ac7
--- /dev/null
+++ b/projects/VS2022/examples/core_screen_recording.vcxproj
@@ -0,0 +1,569 @@
+
+
+  
+    
+      Debug.DLL
+      ARM64
+    
+    
+      Debug.DLL
+      Win32
+    
+    
+      Debug.DLL
+      x64
+    
+    
+      Debug
+      ARM64
+    
+    
+      Debug
+      Win32
+    
+    
+      Debug
+      x64
+    
+    
+      Release.DLL
+      ARM64
+    
+    
+      Release.DLL
+      Win32
+    
+    
+      Release.DLL
+      x64
+    
+    
+      Release
+      ARM64
+    
+    
+      Release
+      Win32
+    
+    
+      Release
+      x64
+    
+  
+  
+    {6B1A933E-71B8-4C1F-9E79-02D98830E671}
+    Win32Proj
+    core_screen_recording
+    10.0
+    core_screen_recording
+  
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    true
+    $(DefaultPlatformToolset)
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+    Application
+    false
+    $(DefaultPlatformToolset)
+    true
+    Unicode
+  
+  
+  
+  
+  
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+  
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    true
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    false
+    $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+    $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    $(SolutionDir)..\..\examples\core
+    WindowsLocalDebugger
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;shcore.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      /FS %(AdditionalOptions)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      
+      
+      Level3
+      Disabled
+      WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+      CompileAsC
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+    
+    
+      Console
+      true
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+      Copy Debug DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+      Level3
+      
+      
+      MaxSpeed
+      true
+      true
+      WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+      $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+      CompileAsC
+      true
+    
+    
+      Console
+      true
+      true
+      true
+      raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+      $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+    
+    
+      xcopy /y /d  "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+    
+    
+      Copy Release DLL to output directory
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+      {e89d61ac-55de-4482-afd4-df7242ebc859}
+    
+  
+  
+  
+  
+
\ No newline at end of file
diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln
index 601b3d409..20b7ad9bb 100644
--- a/projects/VS2022/raylib.sln
+++ b/projects/VS2022/raylib.sln
@@ -387,6 +387,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_mouse_trail", "examp
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_starfield", "examples\shapes_starfield.vcxproj", "{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_highdpi_testbed", "examples\core_highdpi_testbed.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_screen_recording", "examples\core_screen_recording.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug.DLL|ARM64 = Debug.DLL|ARM64
@@ -4793,6 +4797,54 @@ Global
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}.Release|x64.Build.0 = Release|x64
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}.Release|x86.ActiveCfg = Release|Win32
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91}.Release|x86.Build.0 = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -4988,6 +5040,8 @@ Global
 		{AC215730-2B5F-4498-B7F5-5DB80AEFCA5F} = {278D8859-20B1-428F-8448-064F46E1F021}
 		{0835E6BF-0170-4E99-A55C-E06E1EF4C3B2} = {278D8859-20B1-428F-8448-064F46E1F021}
 		{EA4AD5A7-DB95-43C0-9A67-2D94146BCF91} = {278D8859-20B1-428F-8448-064F46E1F021}
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
+		{6B1A933E-71B8-4C1F-9E79-02D98830E671} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29}