Wrong resolution output from GET_SCREEN_SIZE in IDL 32-bit on Windows if 4K screens are used
A customer recently encountered an issue while using the IDL routine GET_SCREEN_SIZE to programmatically obtain the screen resolution.
The customer reported that calling the GET_SCREEN_SIZE routine in a Windows 10 system with IDL 64-bit version returned the expected result. However, calling the same routine on the same machine from IDL 32-bit version, returned the wrong output.
The same results occurred if the customer used the IDL object IDLsysMonitorINfo()
After investigating, it seems the issue is related to the 4K screen the customer is using. A workaround is proposed by Microsoft in the page linked at the end of this article.
Here the steps to follow to apply the workaround:
- Right-click on the IDL icon in the Start menu and select Open File Location
- On the IDL shortcut, right click and open Properties
- Go to the Compatibility tab
- In the Settings section, select the option “Override high DPI scaling behavior. Scaling performed by: Application”
- Apply settings and close Properties
- Run IDL
Further details at:
written by CS on 5/30/2018, reviewed by DS on 5/30/2018