![]() |
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:
Leider ist beim Ablauf das ganze Programm blockiert (ist auch logisch) aber ich erhalte auch keine Rückmeldung über das Ende der Schleifen.:gruebel:
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; Hat vielleicht jemand eine bessere Idee? Grüße Frank |
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! |
Re: Wie erkennen, wann Fenster auftaucht und verschwindet
Hi,
ich würde das ganze in einen Thread auslagern. ;) Chris |
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 |
Re: Wie erkennen, wann Fenster auftaucht und verschwindet
Sagt mal...
was braucht
Delphi-Quellcode:
eigentlich in dem Uses Bereich damit das funzt?!?! Bekomme immer die Meldung das deiser Bezeichner unbekannt ist.....
FindWindowByTitle
Beste Grüsse, Ricane |
Re: Wie erkennen, wann Fenster auftaucht und verschwindet
Hallo Ricane,
bei mir steht nur
Code:
vor den Funktionsdeklarationen, also wird es die wohl sein...
uses Windows
Gruß Frank |
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; |
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 23:10 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-2025 by Thomas Breitkreuz