Использование выглядит следующим образом:
nparenthandle: hwnd;
nchildhandle: hwnd;
nparenthandle: = findwindow (nil, '' notepad '');
Если nparenthandle <> 0, то тогда
nchildhandle: = findchildwindow (nparenthandle, '' somechildeditsclassname '');
------ Код функции ------
вар
hwndfindchildwindow: hwnd;
Функция EnumWindowsForFindChildWindowProc (Whandle: Hwnd; LPARAM: LPARAM): BOOL;
констант
Max_window_name_len = 80;
вар
StargetClassName: String;
Nhandle: hwnd;
ScurrClassName: String;
Bresult: логический;
Начинать
if (hwndfindchildwindow <> 0) тогда
Выход;
StargetClassName: = pchar (lParam);
ScurrClassName: = GetWindowClass (Whandle);
bresult: = comparetext (scurclassname, gargetclassname) = 0;
If (bresult) тогда
hwndfindchildwindow: = whandle
еще
FindChildWindow (Whandle, pchar (lParam));
конец;
Функция findChildWindow (hwndparent: hwnd; classname: pchar): hwnd;
Начинать
пытаться
Enumchildwindows (hwndparent, @enumwindowsforfindchildwindowproc, longint (pchar (classname)));
Результаты: = hwndfindchildwindow;
кроме
в исключении
Результаты: = 0;
конец;
конец;
// Вернуться к текущей форме с фокусом
function getFocusedWindowFromParent (parentWnd: hwnd): hwnd;
вар
Другое
Буфер: DWORD;
idcurrthread: dword;
Начинать
Другой
idcurrthread: = getCurrentThreadId;
Если AttactThreadInput (idCurrthread, другие
Результат: = getFocus;
AttachThreadInput (iDcurrthread, другие thread, false);
конец
еще
Результат: = getFocus;
конец;
// Получить подраздел, которая в настоящее время получает фокус, даже если это форма других приложений
Функция GetFocusedChildWindow: hwnd;
Начинать
Результат: = GetFocusedWindowFromParent (GetForeGroundWindow);
конец;
// Получить текст формы
функция eigetWintext (nhandle: Integer): String;
вар
PCText: Array [0..32768] char;
Начинать
SendMessage (nhandle, WM_GetText, 32768, Longint (@pctext));
Результаты: = PCText;
конец;
// Установить текст формы
Процедура eisetWintext (nhandle: Integer; const snwext: string);
Начинать
Sendmessage (nhandle, wm_settext, длина (snewtext), longint (pchar (trim (snewtext))));
конец;
// вернуть имя класса формы
функция eigetWindowClass (const nhandle: hwnd): string;
вар
szclassname: массив [0..255] char;
Начинать
GetClassName (Nhandle, Szclassname, 255);
Результат: = szclassname;
конец;