win10下有一个坑爹的“每屏高DPI支持”开关需要开启,对于C#来说需要加一个app.manifest来开启。
https://github.com/Microsoft/WPF-Samples/tree/master/PerMonitorDPI
对于C++ 则需要右键属性–清单工具–输入和输出–DPI识别功能,改成“每个监视器高DPI识别”
以上是对于EXE来说的,如果应用是编成DLL给其他应用来调用的话,则需要在application的顶层工程做上述配置。
如果不做这个配置,那么在程序里使用winAPI或者.Net API,都无法获取正确的屏幕坐标。