Re: Вопрос ... я думаю больше про хуки в W32 ....
От: adontz Грузия http://adontz.wordpress.com/
Дата: 02.04.02 01:52
Оценка:
Здравствуйте THEOS, Вы писали:

THEOS>У меня вот такой вопрос ...

THEOS>Есть например запущенной приложение ... на форме этого приложения есть окошки типа TEdit, TMemo и т.д. ... так вот вопрос ... как отловить событие, когда какоенибудь из подобных окошек получает статус ввода ... и по возможности определить типа объекта(что именно это однострочный TEdit или многострочный TMemo) ...

Ну можно и без хука обойтись, по таймеру проверять, юзер всё равно быстрее 10 раз в секунду мышкой не щёлкнет, хотя и культурнее с хуком.

Копай для хука в сторону WM_SETFOCUS

Ну и если уже получил HWND окна или знаешь в каком процессе окно искать или где оно на экране
// Чтоб проверить принадлежность процессу
DWORD GetWindowThreadProcessId(HWND hWnd,LPDWORD lpdwProcessId);
UINT GetWindowModuleFileName(HWND hwnd,LPTSTR lpszFileName,UINT cchFileNameMax);
// Чтоб получить все данные об активных окнах
BOOL GetGUIThreadInfo(DWORD idThread,LPGUITHREADINFO lpgui);
// Чтоб получить аттрибуты окна
BOOL GetWindowInfo(HWND hwnd,PWINDOWINFO pwi);
// Чтоб получить класс окна это для тебя будет "EDIT" или ещё что-то такое
UINT RealGetWindowClass(HWND  hwnd,LPTSTR pszType,UINT  cchType);
// Чтоб получить окно из координат на экране
HWND WindowFromPoint(POINT Point);
HWND RealChildWindowFromPoint(HWND hwndParent,POINT ptParentClientCoords);
// Ну и получить а что же внутри
int GetWindowTextLength(HWND hWnd);
int GetWindowText(HWND hWnd,LPTSTR lpString,int nMaxCount);


THEOS>пиво гарантирую ...

Сок или молоко с удовольствием, а пиво увы не люблю Но если пошлёшь — шли сгушёнку, она по дороге не испортится
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.