функція getwindowtext

[In] Дескриптор вікна або органу управління, що містить текст.

[Out] Вказує на буфер, який прийме текст. Покажчик на буфер, який отримає текст. Якщо рядок є такої ж довжини або довше, ніж буфер, вона обрізається і завершується символом NULL.

Встановлює максимальне число символів для копіювання в буфер, включаючи символ NULL. Якщо текст перевищує це обмеження, він буде скорочуватися.

Якщо функція завершується успішно, повертається значення - довжина, в символах, скопійованій рядки, ні, включаючи символу кінця рядка (нуль-термінатора). Якщо у вікна немає заголовка або тексту, якщо рядок заголовка - порожній рядок або, якщо дескриптор вікна або органу управління неприпустимі, яке значення нульове. Щоб отримувати розширені дані про помилки, викличте GetLastError.

Ця функція не може витягувати текст з поля елемента редагування в іншої прикладної програми.

Якщо цільове вікно знаходиться у володінні поточного потоку, функція GetWindowText змушена відправити повідомлення WM_GETTEXT заданому вікна або органу управління. Якщо цільове вікно знаходиться у володінні іншого потоку і має заголовок GetWindowText витягує текст заголовка вікна. Якщо у вікна немає заголовка, яке значення є нульовою рядком. Це поведінка регулюється відповідно до проекту. Воно дозволяє прикладним програмам викликати функцію GetWindowText без зависання програми, якщо процес, який володіє цільовим вікном, зависає. Однак якщо цільове вікно зависає, і воно належить викликає програмі, функція GetWindowText призведе до зависання зухвалу програму.

Щоб витягти текст з органу управління в іншому процесі, відправте повідомлення WM_GETTEXT безпосередньо замість виклику GetWindowText.

Схожі статті