![]() |
WinSpy > Fenster suchen
Hallo,
ich bin heute zufällig über folgendes Posting zu WinSpy (ein sehr feines Tool) gestoßen: ![]() 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:
Leider gibt mir meine Anwendung immer nur ein "not found" aus.
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; 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 |
Re: WinSpy > Fenster suchen
wnd := FindWindowEx2(wnd,'TLMDSplitterPanel', 3);
das muss doch sicher hier TLMDSplitterPanel heissen |
Re: WinSpy > Fenster suchen
also WinSpy sagt es heißt 'TLMDSplitterPane'
und wenn ich das L ergänze dann funktioniert es trotzdem nicht :( was mich wundert, weil WinSpy ja das entsprechende Feld aufleuchten läßt um zu demonstrieren das es funktioniert hat |
Re: WinSpy > Fenster suchen
mit dem code aus x-spy klappt es:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var wnd: HWND; begin wnd := FindWindow('TForm_MTAloneMain', 'Langenscheidt T1 Version 5.0 '); wnd := FindWindowEx(wnd, 0, 'TLMDSplitterPanel', nil); wnd := FindWindowEx(wnd, 0, 'TLMDSplitterPane', nil); wnd := FindWindowEx(wnd, 0, 'TJvCaptionPanel', nil); wnd := FindWindowEx(wnd, 0, 'TWPRichText', nil); if wnd <> 0 then begin showmessage('found'); end; end; |
Re: WinSpy > Fenster suchen
dann ist der fehler wohl in der FindWIndowex2
|
Re: WinSpy > Fenster suchen
Hi,
Werde dem WinSpy FindWindow Code-Problem nachgehen und fixen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz