mirror of
https://github.com/DarthAffe/ScreenCapture.NET.git
synced 2025-12-12 21:38:42 +00:00
38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
// ReSharper disable InconsistentNaming
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace ScreenCapture
|
|
{
|
|
public static class DPIAwareness
|
|
{
|
|
[DllImport("user32.dll", SetLastError = true)]
|
|
internal static extern bool SetProcessDpiAwarenessContext(int dpiFlag);
|
|
|
|
[DllImport("SHCore.dll", SetLastError = true)]
|
|
internal static extern bool SetProcessDpiAwareness(PROCESS_DPI_AWARENESS awareness);
|
|
|
|
[DllImport("user32.dll")]
|
|
internal static extern bool SetProcessDPIAware();
|
|
|
|
internal enum PROCESS_DPI_AWARENESS
|
|
{
|
|
Process_DPI_Unaware = 0,
|
|
Process_System_DPI_Aware = 1,
|
|
Process_Per_Monitor_DPI_Aware = 2
|
|
}
|
|
|
|
internal enum DPI_AWARENESS_CONTEXT
|
|
{
|
|
DPI_AWARENESS_CONTEXT_UNAWARE = 16,
|
|
DPI_AWARENESS_CONTEXT_SYSTEM_AWARE = 17,
|
|
DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE = 18,
|
|
DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 = 34
|
|
}
|
|
|
|
public static void Initalize()
|
|
{
|
|
SetProcessDpiAwarenessContext((int)DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
|
|
}
|
|
}
|
|
}
|