Не могу понять странное поведение. У меня скрипт кликает в программе на иконку, которая открывает станлартное диалоговое окно системы Windows для выбора файла. Для красоты я решил это диалаговое окно выровнять и установить координаты/размеры с помощью
// получим координаты окна "Выбрать файл для загрузки"
WNDGETINFO ($hwnd_load_file, $x_loadfile, $y_loadfile, $w_loadfile, $h_loadfile)
$line = STRCONCAT("Координаты окна 'Загрузить скрипт из файла': x = ", $x_loadfile,", $y = ", $y_loadfile,", $w = ", $w_loadfile, ", $h = ", $h_loadfile)
TFWRITE("log.txt", $line)
TFWRITE("log.txt", "Изменим координаты окна 'Загрузить скрипт из файла'")
// установим размеры окна "Выбрать файл для загрузки" для стабильности работы
WNDSIZE($hwnd_load_file, 600, 400)
// переместим окно "Выбрать файл для загрузки" в заданную точку
WNDPOS($hwnd_load_file, 300, 300)
После изменения координат/размеров функций я проверяю эти значения
// получим координаты окна "Выбрать файл для загрузки"
WNDGETINFO ($hwnd_load_file, $x_loadfile, $y_loadfile, $w_loadfile, $h_loadfile)
$line = STRCONCAT("Координаты окна 'Загрузить скрипт из файла': x = ", $x_loadfile,", $y = ", $y_loadfile,", $w = ", $w_loadfile, ", $h = ", $h_loadfile)
TFWRITE("log.txt", $line)
Вижу такой лог
Найдена иконка 'Загрузить скрипт из файла'
Найден диалог 'Загрузить скрипт из файла', hwnd = 66862
Координаты окна 'Загрузить скрипт из файла': x = 168, $y = 97, $w = 464, $h = 331
Изменим координаты окна 'Загрузить скрипт из файла'
Координаты окна 'Загрузить скрипт из файла': x = 468, $y = 397, $w = 600, $h = 400
И тут я столкнулся с двумя странностями:
1. Видно, что новые координаты изменились относительно старых. Вместо того чтобы записать абсолютные координаты, WNDPOS() прибавила к старым координатам по 300 пикселей. При этом WNDSIZE() отработала как надо размеры окна изменились (виртуально)
2. После изменения окна я делаю скриншот. И на нем видно окно на самом деле никуда не сдвинулось и не изменило размеров.
Кто-то сталкивался с таким уже? Как это понимать и как решать, подскажите пожалуйста.