Hallo,
ich bin heute zufällig über folgendes Posting zu WinSpy (ein sehr feines Tool) gestoßen:
http://www.delphipraxis.net/internal...findwindow+nil
Aus diesem Grund wollte ich mir ein kleines Programm basteln das meinen Langenscheid T1 (dt <> en)
Übersetzer ein wenig automatisiert. WinSpy erzeugt mir dann folgenden Code der laut
WinSpy auch funktionieren soll (leicht abgeändert):
Delphi-Quellcode:
function TForm1.FindWindowEx2(hParent: HWND; ChildClassName:
string; ChildNr: Word): HWND;
var
i: Word;
hChild: HWND;
begin
ChildNr := ChildNr - 1;
for i := 0
to ChildNr
do
begin
hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName),
nil);
if hChild = 0
then
Exit;
Result := hChild;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
wnd: HWND;
begin
wnd := FindWindow('
TForm_MTAloneMain','
Langenscheidt T1 Version 5.0 ');
wnd := FindWindowEx(wnd, 0, '
TLMDSplitterPanel',
nil);
wnd := FindWindowEx2(wnd,'
TLMDSplitterPane', 3);
wnd := FindWindowEx(wnd, 0, '
TJvCaptionPanel',
nil);
// wnd ist 0
wnd := FindWindowEx(wnd, 0, '
TWPRichText',
nil);
//wnd ist 0
if wnd <> 0
then
begin
showmessage('
Window found. Handle: ' + IntToStr(wnd));
end
else showmessage('
not found');
end;
Leider gibt mir meine Anwendung immer nur ein "not found" aus.
Der, die, das
Handle von 'TJvCaptionPanel' und 'TWPRichText'
werden offensichtlich nicht gefunden. Kann mir vielleicht
Jemand erklären wie ich trotzdem in das Textfeld 'TWPRichText'
schreiben kann?
MfG