Die Verwendung ist wie folgt:
NPARENTHANDLE: HWND;
nchildhandle: hwnd;
nparentHandle: = findWindow (nil, '' notepad '');
Wenn Nparenthandle <> 0 dann
nchildHandle: = findChildWindow (nparentHandle, '' somechildeditsClassName '');
------ Funktionscode ------
var
hwndfindchildWindow: hwnd;
Funktion EnumwindowsforfindChildWindowProc (Whandle: hwnd; lparam: lparam): bool;
Const
Max_window_name_len = 80;
var
STARGETCASSNAME: String;
Nhandle: hwnd;
SCURCASSNAME: String;
Bresult: Boolean;
Beginnen
if (hwndfindChildWindow <> 0) dann
Ausfahrt;
STARGETCASSNAME: = PCHAR (LPARAM);
SCURCASSNAME: = GetWindowClass (Whandle);
Bresult: = vergleichext (scurrclassName, stargetClassName) = 0;
Wenn (Bresult) dann
hwndfindChildWindow: = Whandle
anders
FindchildWindow (Whandle, pchar (lparam));
Ende;
Funktion findChildWindow (hwndParent: hwnd; className: pchar): hwnd;
Beginnen
versuchen
EnumchildWindows (hwndParent, @enumwindowsforfindChildWindowproc, Longint (pchar (className)));
Ergebnisse: = hwndfindChildWindow;
außer
auf Ausnahme tun
Ergebnisse: = 0;
Ende;
Ende;
// kehren Sie mit Fokus zum aktuellen Formular zurück
Funktion getFocusedWindowFromParent (Parentwnd: hwnd): hwnd;
var
OtherThread,
Puffer: DWORD;
IDCurRthread: DWORD;
Beginnen
OtherThread: = GetWindowThreadProcessid (parentwnd, @buffer);
idCurrthread: = getCurrentThreadid;
Wenn Atttheadinput (IDCurRthread, OtherThead, Richtig) dann beginnen
Ergebnis: = getFocus;
AttTheadinput (idcurrthread, otherThead, false);
Ende
anders
Ergebnis: = getFocus;
Ende;
// Erhalten Sie den Unterform
Funktion getFocusedChildWindow: hwnd;
Beginnen
Ergebnis: = GetFocusedWindowFromparent (getforgroundWindow);
Ende;
// Erhalten Sie den Text des Formulars
Funktion EIGETWINTEXT (Nhandle: Ganzzahl): String;
var
pctext: array [0..32768] von char;
Beginnen
SendMessage (nhandle, wm_gettext, 32768, longint (@pctext));
Ergebnisse: = pctext;
Ende;
// Setzen Sie den Text des Formulars
procedure eisetwintsxt (nhandle: ganzzahl; const snewText: string);
Beginnen
SendMessage (nhandle, wm_setText, länge (snewText), longint (pchar (trim (SnewText))));
Ende;
// Geben Sie den Klassennamen des Formulars zurück
Funktion EIGETWINDOWCLASS (const nhandle: hwnd): String;
var
SzClassName: Array [0..255] von Char;
Beginnen
GetClassName (Nhandle, SzClassName, 255);
Ergebnis: = szClassName;
Ende;