AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WinSpy > Fenster suchen

Ein Thema von endeffects · begonnen am 11. Jan 2005 · letzter Beitrag vom 25. Jan 2005
Antwort Antwort
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

WinSpy > Fenster suchen

  Alt 11. Jan 2005, 16:07
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
  Mit Zitat antworten Zitat
perle

Registriert seit: 8. Apr 2004
183 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: WinSpy > Fenster suchen

  Alt 11. Jan 2005, 16:22
wnd := FindWindowEx2(wnd,'TLMDSplitterPanel', 3);


das muss doch sicher hier TLMDSplitterPanel heissen
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#3

Re: WinSpy > Fenster suchen

  Alt 11. Jan 2005, 16:27
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
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#4

Re: WinSpy > Fenster suchen

  Alt 11. Jan 2005, 16:33
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;
  Mit Zitat antworten Zitat
perle

Registriert seit: 8. Apr 2004
183 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: WinSpy > Fenster suchen

  Alt 11. Jan 2005, 16:47
dann ist der fehler wohl in der FindWIndowex2
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: WinSpy > Fenster suchen

  Alt 25. Jan 2005, 02:40
Hi,

Werde dem WinSpy FindWindow Code-Problem nachgehen und fixen.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz