![]() |
Timer in App feststellen möglich ?
Hi,
gibt es eine Möglichkeit festzustellen ob und ggf. wie viele Timer ein Programm hat bzw. verwendet ? |
Re: Timer in App feststellen möglich ?
Wie meinst du das? Die Anzahl von Instanten von TTimer?
|
Re: Timer in App feststellen möglich ?
Nein, angenommen ein Prg. hat 5 Timer am laufen, kann man das feststellen ?
|
Re: Timer in App feststellen möglich ?
Ich versteh es immer noch nicht ganz, was du meinst. Dich interessiert die Anzahl von Timern, die gerdae aktiv sind?
|
Re: Timer in App feststellen möglich ?
Jupp. Bzw. Wie viele ein Programm gerade benutzt.
|
Re: Timer in App feststellen möglich ?
Delphi-Quellcode:
Liefert dir die Anzahl aktiver Timer
for i := 0 to self.ComponentCount-1 do
begin self.Components[i].ClassName = 'TTimer' then if (self.Components[i] as TTimer).Enabled then inc(anz); Und dieses dann für alle Forulare um die Timer aller fenster zu bekommen. |
Re: Timer in App feststellen möglich ?
Äh, ja für eine Zählung der Timer in einer App. (intern), mich iteressiert aber die Anzahl der Timer die zB. der Windows Explorer "verbraucht".
|
Re: Timer in App feststellen möglich ?
Ob du da rankommst? Wär doch ne Frage an Olli oder Luckie.
|
Re: Timer in App feststellen möglich ?
Also mir ist nichts bekannt, was das ermöglichen würde - außer natürlich unser allseits beliebtes API-Hooking. Eine Anwendung ala "ApiSpy" könnte da von Nutzen sein, indem sie die Anzahl von SetTimer()-Aufrufen zählt.
|
Re: Timer in App feststellen möglich ?
Na ja, man könnte sich ja erstmal eine Liste aller Fenster (welcher zur Anwendung gehören) besorgen
und dann bei jedem Fenster alle TimerIDs testen, ob auch ein entsprechender Timer existiert. Es würde halt nur etwas dauern :roll: Wobei dort dann jeder Timer, der gefunden wird auch aktiv ist. (TTimer erstellt ja auch nur einen, wenn es aktiv ist und beim Deaktivieren wird der Timer wieder freigegeben) |
Re: Timer in App feststellen möglich ?
Zitat:
Die WM-Timer zu hooken und warten und zählen... naja ne, gibt es nicht ;) |
Re: Timer in App feststellen möglich ?
Zitat:
Da hilft dann nur Neustart der Anwendung als Kindprozeß des ApiSpy. |
Re: Timer in App feststellen möglich ?
Um nochmal etwas anzumerken, falls du das wirklich vor haben solltest, beachte:
Delphi-Quellcode:
Erzeugt nur ein "Ping" nach 5 Sekunden. Du musst also doppelte IDs "herausfiltern".
procedure TForm1.FormCreate(Sender: TObject);
begin settimer(handle, 1, 1000, NIL); settimer(handle, 1, 5000, NIL); end; procedure TForm1.WMTimer(var Message: TMessage); begin killTimer(handle, Message.wparam); showmessage('Ping'); end; |
Re: Timer in App feststellen möglich ?
Zitat:
Zitat:
Die Sache hat aber einen Hacken wenn ein Programm einen Timer setzt oder deakt. für eine bestimmte Funktion. :gruebel: Zitat:
Werde mir das mal anschauen. thx. |
Re: Timer in App feststellen möglich ?
Zitat:
|
Re: Timer in App feststellen möglich ?
Mit Fenstebindung.
Delphi-Quellcode:
Einfach wenn ein Programm einen Timer je nach Erforderlichkeit an oder abschaltet also nicht ständig in "Betrieb" ist.
if Bedingung then SetTimer() else KillTimmer();
Dann würde dieser den "Timerzähler" erhöhen. :gruebel: |
Re: Timer in App feststellen möglich ?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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