Hello. I came across this problem. If the system's screen scaling is set to more than 100% and Unaware is selected in "DPI Awareness" (Project -> Options -> Application -> Manifest), then screenshots created by the ImageEnIO.CaptureFromScreen(iecsScreen) function are truncated.
The problem can be solved by changing the DPI Awareness settings from Unaware to any other (for example PerMonitor2), but it will lead to remaking my application GUI for supporting different screen DPI. Is it possible somehow to make full-sized screenshots without changing DPI Awareness and system's screen scaling?
Unfortunately, by nature, if you specify that the application is unaware of scaling then the values returned by internal calls such as GetSystemMetrics() and Screen.Monitors are already scaled without there being a reasonable method to know that they're scaled.