Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wie erkennen, wann Fenster auftaucht und verschwindet (https://www.delphipraxis.net/21371-wie-erkennen-wann-fenster-auftaucht-und-verschwindet.html)

FBrust 1. Mai 2004 19:48


Wie erkennen, wann Fenster auftaucht und verschwindet
 
Hallo,

mein Programm soll erkennen, wann das Fenster vom Palm-Hotsyncmanager auftaucht und wieder verschwindet.
Erst dann soll der Anwender weiterarbeiten dürfen.

Das Problem ist, dass das Fenster "Hotsync-Status" erst nach ein paar Sekunden auftaucht. Ich dachte mir, ich könnte es mit zwei Endlosschleifen lösen, die kontrolliert abgebrochen werden, etwa so:

Delphi-Quellcode:
var hSync  :HWND;
begin

    hSync := 0;
    while true do begin
      hSync := FindWindowByTitle('Hotsync-Status');
      if hSync <> 0 then
        break;
    end;
    beep;
    while true do begin
      hSync := FindWindowByTitle('Hotsync-Status');
      if hSync = 0 then
        break;
    end;
    beep;
Leider ist beim Ablauf das ganze Programm blockiert (ist auch logisch) aber ich erhalte auch keine Rückmeldung über das Ende der Schleifen.:gruebel:

Hat vielleicht jemand eine bessere Idee?

Grüße
Frank

Skiron 1. Mai 2004 19:56

Re: Wie erkennen, wann Fenster auftaucht und verschwindet
 
du könntest (wenns ums "keine Rückmeldung" geht)
Application.ProcessMessages;
in die Schleife einbauen

ansonsten gibst vielleicht einen Hook, der ausgelöst wird, wenn ein Fenster geöffnet wird, bin da aber nicht sicher

Ansonsten könntest du das Ganze in einen Timer Packen, mit kleinem Intervall!

CalganX 1. Mai 2004 19:57

Re: Wie erkennen, wann Fenster auftaucht und verschwindet
 
Hi,
ich würde das ganze in einen Thread auslagern. ;)

Chris

FBrust 1. Mai 2004 20:03

Re: Wie erkennen, wann Fenster auftaucht und verschwindet
 
Hallo,

danke für Eure Antworten.

@Chris: Ja, das werd ich wohl machen müssen, also auf zu den Tutorials...

Gruß

Frank

Ricane 24. Sep 2004 18:51

Re: Wie erkennen, wann Fenster auftaucht und verschwindet
 
Sagt mal...

was braucht

Delphi-Quellcode:
FindWindowByTitle
eigentlich in dem Uses Bereich damit das funzt?!?! Bekomme immer die Meldung das deiser Bezeichner unbekannt ist.....


Beste Grüsse,

Ricane

FBrust 24. Sep 2004 23:42

Re: Wie erkennen, wann Fenster auftaucht und verschwindet
 
Hallo Ricane,

bei mir steht nur

Code:
uses Windows
vor den Funktionsdeklarationen, also wird es die wohl sein...


Gruß
Frank

Christian Seehase 25. Sep 2004 13:14

Re: Wie erkennen, wann Fenster auftaucht und verschwindet
 
Moin Zusammen,

ich möchte mal behaupten, dass FindWindowByTitle selbstgemacht ist.

Delphi-Quellcode:
function FindWindowByTitle(const AsTitle : string) : DWORD;
begin
  Result := FindWindow(nil,PChar(AsTitle));
end;

wicht 5. Aug 2007 17:16

Re: Wie erkennen, wann Fenster auftaucht und verschwindet
 
Ein Sleep(50) oder irgendwas in der Richtung wäre vielleicht auch noch nützlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 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