Получить текст из окна Spy ++

Я пытаюсь получить текст из окна «Сообщения» в Spy ++, используя C ++.

я пытался отправить WM_GETTEXT,LB_GETMESSAGE сообщение для окна и его детей, и его не работает.

Код, протестированный в блокноте, работает нормально, как это сделать?

Я называю эту функцию EnumChildWindows (spyHwnd, EnumChildProc, 1);
// spyHwnd — дескриптор окна «Сообщения»

BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
{
TCHAR text[40];
int length = 0;
int index = 5;
length = SendMessage(hwnd,LB_GETTEXT,index,(LPARAM)text);//or WM_GETTEXT & maxLength=40

return true;
}

2

Решение

Окно, которое вы ищете, имеет класс «AfxWnd80u». Я уверен, что это владелец нарисован. Похоже, он не получает никаких сообщений, кроме рисования и мыши.
Нарисованный владельцем означает, что Spy ++ хранит текст где-то внутри и вручную рисует холст окна.

Если в этом же списке вы откроете окно «Свойства сообщения», вы увидите, что используется стандартный элемент управления списка. Очевидно, что у него другое поведение — выбор выглядит по-разному, прокрутка более плавная (это плохое доказательство, поскольку эти вещи можно настраивать, но все же несколько говорит о том, почему вы делаете вещи по-другому в одном приложении?)

Если вы ищете в Интернете «получить текст AfxWnd», вы можете увидеть много вопросов без ответов. Некоторые прибегают к симуляции Ctrl + C и получению содержимого буфера обмена, но окно Spy ++ Messages, похоже, не поддерживает Ctrl + C.

Так что здесь нет простого WinAPI-способа.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]