Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Timer in App feststellen möglich ? (https://www.delphipraxis.net/70547-timer-app-feststellen-moeglich.html)

Vjay 1. Jun 2006 15:08

Re: Timer in App feststellen möglich ?
 
Zitat:

Zitat von Olli
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.

Hat nur den Nachteil, dass man die bereits erstellten nicht zählen kann.
Die WM-Timer zu hooken und warten und zählen... naja ne, gibt es nicht ;)

Olli 1. Jun 2006 15:13

Re: Timer in App feststellen möglich ?
 
Zitat:

Zitat von Vjay
Hat nur den Nachteil, dass man die bereits erstellten nicht zählen kann.

Stimmt allerdings ...

Da hilft dann nur Neustart der Anwendung als Kindprozeß des ApiSpy.

Vjay 1. Jun 2006 15:30

Re: Timer in App feststellen möglich ?
 
Um nochmal etwas anzumerken, falls du das wirklich vor haben solltest, beachte:

Delphi-Quellcode:
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;
Erzeugt nur ein "Ping" nach 5 Sekunden. Du musst also doppelte IDs "herausfiltern".

turboPASCAL 1. Jun 2006 15:33

Re: Timer in App feststellen möglich ?
 
Zitat:

Zitat von Olli
Also mir ist nichts bekannt, was das ermöglichen würde ...

Ich dächte das ich mal was darüber gelesen hätte, ist leider schon eine Weile her.

Zitat:

Zitat von Olli
- 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.

In diese Richtung hatte ich gedacht.

Die Sache hat aber einen Hacken wenn ein Programm einen Timer setzt oder deakt. für eine bestimmte Funktion. :gruebel:




Zitat:

Zitat von Olli
Zitat:

Zitat von Vjay
Hat nur den Nachteil, dass man die bereits erstellten nicht zählen kann.

Stimmt allerdings ...

Da hilft dann nur Neustart der Anwendung als Kindprozeß des ApiSpy.

Währe für mich eine Lösung.
Werde mir das mal anschauen.

thx.

Olli 1. Jun 2006 15:37

Re: Timer in App feststellen möglich ?
 
Zitat:

Zitat von turboPASCAL
Die Sache hat aber einen Hacken wenn ein Programm einen Timer setzt oder deakt. für eine bestimmte Funktion. :gruebel:

Was meinst du? Spielst du auf Timer mit Callbacks (also ohne Fensterbindung) an?

turboPASCAL 1. Jun 2006 15:52

Re: Timer in App feststellen möglich ?
 
Mit Fenstebindung.

Delphi-Quellcode:
 if Bedingung then SetTimer() else KillTimmer();
Einfach wenn ein Programm einen Timer je nach Erforderlichkeit an oder abschaltet also nicht ständig in "Betrieb" ist.
Dann würde dieser den "Timerzähler" erhöhen. :gruebel:

himitsu 2. Jun 2006 10:30

Re: Timer in App feststellen möglich ?
 
Zitat:

Zitat von Olli
Zitat:

Zitat von turboPASCAL
Die Sache hat aber einen Hacken wenn ein Programm einen Timer setzt oder deakt. für eine bestimmte Funktion. :gruebel:

Was meinst du? Spielst du auf Timer mit Callbacks (also ohne Fensterbindung) an?

Wenn man die API (SetTimer) hook, dann ist das doch egal ... jedenfalls werden die Timer, egal ob an ein Fenter angebunden, oder mit 'ner CallBackFunktion, oder beidem, oder ach garnichts (ja, dat is och möglich, auch wenn ich noch nicht weiß wofür) über die selbe API erstellt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Seite 2 von 2     12   

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