Entwickler-Ecke
Windows API - Schleife: Warten bis Handle nichtmehr existiert
r4in - Do 05.08.10 08:43
Titel: Schleife: Warten bis Handle nichtmehr existiert
Hallo liebe user,
gibt es eine smarte und cpu-schonende lösung, um zu prüfen, ob ein handle noch offen ist/existiert?
ich bräuchte so eine art überwachung des handles, also es soll wirklich dauerhaft und schnell geprüft werden,
ob das handle noch offen ist, nicht also auf buttonclick sondern einfach immer, jede sekunde.
habe nur lösungen gefunden, wenn man das programm selber öffnet, aws bei mir aber nicht der fall ist, denn das programm läuft bereits.
vielen dank.
platzwart - Do 05.08.10 08:58
Hallo und herzlich Willkommen! :welcome:
Du könntest einen TTimer verwenden. Dort stellst du Interval (die Periode) auf z.B. 1000 (Millisekunden) ein. Dann wird der Code von OnTimer einmal pro Sekunde ausgeführt.
r4in - Do 05.08.10 09:07
hi und danke für die antwort, aber verbraucht der nicht enorm viele kapa?
platzwart - Do 05.08.10 09:32
Jain. Kommt ganz drauf an, was du da bearbeiten lässt. Wenn du nur eine Abfrage machst wie z.B. SomethingExists(blabl); und die Funktion nicht viel macht, dann verbraucht das fast nix ;) Denn sobald die Abfrage fertig ist, macht der Timer nix mehr, bis er wieder nach einer Sekunde aktiviert wird.
r4in - Do 05.08.10 09:34
alles klar, ich implementier es mal, super, danke =)
BenBE - Do 05.08.10 13:37
Um was für ein Handle handelt es sich?
Weil ggf. könntest Du auch WaitForSingleObjectTimeout (oder WaitForMultipleObjectsTimeout) verwenden. Die verbrauchen auch so gut wie keine Resourcen, geben Dir aber wirklich auf unterster Ebene bescheid, sobald ein Handle einen bestimmten Zustand reicht. Kommt aber auf die Art des Handles an, ob das damit geht.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!