AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi invisible TEdit mit FindWindowEx finden
Thema durchsuchen
Ansicht
Themen-Optionen

invisible TEdit mit FindWindowEx finden

Ein Thema von IceOnly · begonnen am 13. Jul 2004 · letzter Beitrag vom 13. Jul 2004
Antwort Antwort
IceOnly
(Gast)

n/a Beiträge
 
#1

invisible TEdit mit FindWindowEx finden

  Alt 13. Jul 2004, 14:56
hallo community,
ich brauche mal hilfe in bezug auf FindWindowEx.
erst mal mein code:

Delphi-Quellcode:
ItemHandle:=FindWindowEx(FindWindow(nil,Main_ID),0,'TEdit',nil);
if ParamCount>0
then SentText:=ParamStr(1)
else SentText:='Show';
if ItemHandle<>0
then SendMessage(ItemHandle,WM_SETTEXT,Length(SentText),lParam(SentText))
else ShowMessage('TEdit konnte nicht gefunden werden !');
Main_ID ist ein const String = Name des Fesnters...
wenn ich jetzt das TEdit auf visible:=true setze, funzt es auch wunderbar...aber wenn ich es auf false setze, wird das TEdit nicht mehr gefunden. Gibt es da irgendeine lösung, dieses TEdit trotzdem (selbst wenn es unsichtbar ist) anzusprechen?

thx 4 help
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: invisible TEdit mit FindWindowEx finden

  Alt 13. Jul 2004, 17:00
Moin IceOnly,

erst einmal herzlich Willkommen hier in der Delphi-PRAXiS.

Ich kann das Problem nicht nachvollziehen.
Weder in D5 Pro, D6 PE noch D7 PE.

Funktioniert einwandfrei.

Vielleicht teilst Du Dir die Schachtelung von FindWindowEx und FindWindow auf, damit Du mal feststellen kannst, ob evtl. schon FindWindow fehlschlägt.

Dann kannst Du Dir noch mit

ShowMessage(SysErrorMessage(GetLastError)); nähere Informationen zurückliefern lassen, was Ursache ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
IceOnly
(Gast)

n/a Beiträge
 
#3

Re: invisible TEdit mit FindWindowEx finden

  Alt 13. Jul 2004, 20:34
danke für den versuch mir zu helfen, aber bisher haben deine tipps bei mir (delphi 7 pro) nicht viel weitergeholfen ;_; ich stelle deshalb einfach mal meinen "ganzen" code zur verfügung (auch wenns nicht wirklich was bringt):

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var ItemHandle,MainApp:HWND; SentText: String;
begin
  if FindWindow(nil,Main_ID)=0 then begin
  // bla bla bla
  end else begin
  Application.ShowMainForm:=false;
  MainApp:=FindWindow(nil,Main_ID);
  ItemHandle:=FindWindowEx(MainApp,0,'TEdit',nil);
  if ParamCount>0
  then SentText:=ParamStr(1)
  else SentText:='Show';
  if ItemHandle<>0
  then SendMessage(ItemHandle,WM_SETTEXT,Length(SentText),lParam(SentText))
  else ShowMessage('TEdit konnte nicht gefunden werden !');
  Application.Terminate;
  end;
end;
ich habe es nochmals ausprobiert: Edit1.Visible:=true und alles funzt wunderbar...sobald ich aber Edit1.Visible:=false setze, schlägt FindWindowEx fehl und ItemHandle entspricht 0 ;_;
naja, was ich eigentlich vorhabe ist, OHNE timer die (Send)Messages abzufangen und so jede Message auf diese Art zu verarbeiten. ich habe halt das OnChange-Ereignis des Edit1 benutzt...vllt kannste mir auch einfach sagen, wie ich das mache
  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 16:15 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