Loopback
|
Posted: Mon Jul 21, 2025 13:02 Post subject: |
|
|
AkulaBig wrote: | Не ожидал. |
Так синтаксис же не из ниоткуда появился То что не работает - это баг, регресс с версии 2.2.17.
AkulaBig wrote: | Попробовал вот так |
А вот так неправильно. Вместо буфера с указанной третьим параметром длиной, который ожидает GetWindowText, будет передан нулевой указатель.
Синтаксис вида "wstr:768" специально был сделан для упрощения работы с простыми буферами, чтобы не приходилось каждый раз задействовать Buffer, т.к. огромное количество API-функций использует буфер для возврата значений. Аналогичный механизм сделан и в Autoit (там в DllCall безальтернативно выделяется 64К буфер для строчных типов), а в AHK необходимо предварительно задать ёмкость переменной.
Синтаксис переменной с @ применим только к значениям, переданным по ссылке: типы со * (например int*) и str/wstr (которые по сути char*/wchar*). Остальные типы никак не меняют значение переменной. |
|