Hier endlich das Skript um GUIs skalieren zu lassen. Windows 7 und Windows 10 (sogar Per-Monitor-DPI-Scaling!) werden unterstützt.
Man könnte auch vollends auf WM_DPICHANGED verzichten und ebenfalls für Windows 7 Per-Monitor-DPI-Scaling implementieren aber so tuts erstmal auch.
Achtung: Einige Controls machen ERHEBLICHE Probleme und einige zicken ein wenig rum. Siehe dazu auch: https://autoit.de/index.php?thread/86493
Wie nutzt man die UDF? Falls das zu kompliziert ist, es sind viele Kommentare in der UDF enthalten, und sie kommt mit vier Beispiel daher.
AutoIt
Local $aControls[2] = [ $hErstesControlderGUI, $hLetztesControlderGUI ]
_GUI_SetResizing($hGUI, $GUI_CLIENT_WIDTH, $GUI_CLIENT_HEIGHT, $aControls)
_GUI_Resize($hGUI, $iX, $iY, _WinAPI_GetDpiForMonitor(_WinAPI_MonitorFromWindow($hGUI)))
Die UDF hat kein Errorhandling also viel Glück xd