Что нового

Ошибки в справке

Oki

Продвинутый
Сообщения
452
Репутация
62
Код:
_WinAPI_EnumWindows()
_WinAPI_EnumWindowsPopup()
Примеры из русской справки по этим функциям работают совсем не так, как задумано, но они отличаются от примеров в английской справке, поэтому будем сразу считать их устаревшими. В английской же справке содержится одинаковая ошибка в примерах для обеих функций. Допускаю вероятность, что в какой-то более ранней версии AutoIt скрипты работали корректно, но в нынешнем виде символы "#|" лишние и приводят к сдвигу в названиях колонок, дающем некорректное отображение.
Сообщение автоматически объединено:

Ещё найдено неизвестное значение в результате, о котором справка умалчивает.
Код:
#include <WinAPISysWin.au3>
$aWindows = _WinAPI_EnumWindows()
MsgBox(4096, "", $aWindows[0][1])
Что это за пасхалка?
Сообщение автоматически объединено:

Код:
#include <WinAPISysWin.au3>
$aWindows = _WinAPI_EnumWindows()
$aWindowsAll = _WinAPI_EnumWindows(False)
MsgBox(4096, "", $aWindows[0][0] & @TAB & $aWindows[0][1] & @TAB & $aWindowsAll[0][0] & @TAB & $aWindowsAll[0][1])
Вот такой скрипт вывел мне числа 121, 128, 482 и 512. По результатам последующих проверок обнаружена стабильная закономерность. Лишнее число всегда является минимальным числом, кратным 64 и строго большим количества окон (даже если последнее делится на 64, ещё 64 добавляется).
 
Последнее редактирование:

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
в нынешнем виде символы "#|" лишние и приводят к сдвигу в названиях колонок
Функцию _ArrayDisplay переделывали несколько раз. Вероятно, не все примеры поправили. Можете сообщить о проблеме:

Что это за пасхалка?
Посмотрите реализацию функции в WinAPISysInternals.au3 и всё станет понятно.
Количество окон заранее неизвестно. Поэтому в [0][1] хранится счётчик, который инициализируется 64 и увеличивается на 64 при заполнении.
 
  • Like
Реакции: Oki
Автор
Oki

Oki

Продвинутый
Сообщения
452
Репутация
62
Количество окон заранее неизвестно. Поэтому в [0][1] хранится счётчик, который инициализируется 64 и увеличивается на 64 при заполнении.
Была у меня догадка, что всё это ради удобства применения Redim, так и оказалось. Фактически этим проведена подготовительная работа для удобного дальнейшего занесения новых строк о дополнительно появившихся окнах в таблицу самим пользователем, но почему-то об этом пользователю не нашли нужным сообщить.
 
Верх