this might illustrate it better, since this is how i actually encountered it:
for example, suppose you wanted to programmatically size and tile your guis. say you wanted to size your guis to 400x400, but you didnt want the user to be able to resize them so you use
. edit/ actually, i just realized that
-Resize is DEFAULT, so this will happen on all guis that are not explicitly
width := 400
height := 400
Gui, Show,, gui 1
WinMove,,, 0, 0, width, height
Gui, 2: +LastFound
Gui, 2: Show,, gui 2
WinMove,,, 0+width, 0, width, height
Gui, 3: +LastFound
Gui, 3: Show,, gui 3
WinMove,,, 0, 0+height, width, height
Gui, 4: +LastFound
Gui, 4: Show,, gui 4
WinMove,,, 0+width, 0+height, width, height
if you run that script with Aero theme, you will notice that the first gui is not visually in the upper left 0x0 of monitor. in addition, you will notice a slight overlap of each gui. why are the gui's overlapping? they shouldn't be. each was sized to 400x400 and their coordinates are set exactly.
returns the correct numbers, yet the gui's still arent correctly positioned.
however, change all 4 guis to
and it works in Aero!
i believe that the error is something like AHK is setting a wrong style for the window somewhere when Aero theme is enabled. or the default style that it is using it not compatible with Aero or something.
if you run that script with Basic or Classic theme in windows, it works as expected.
as a workaround, if you need the correct alignment , you can use this dllcall on each gui prior to showing it (idea from HotKeyIt's Tooltip library):
ThisGuiHwnd := WinExist()
DllCall("uxtheme\SetWindowTheme", "Uint", ThisGuiHwnd, "Uint", 0, "UintP", 0)