Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Timer in einer DLL? (https://www.delphipraxis.net/112719-timer-einer-dll.html)

schwa226 25. Apr 2008 23:11


Timer in einer DLL?
 
Hi,

wie kann ich einen Timer in einer DLL ohne Form verwirklichen? Sleep geht nicht.

Ich möchte eine Tastenentprellung (~200ms) bei einem Tastaturhook machen!

Gibt's da eine Möglichkeit?

lbccaleb 25. Apr 2008 23:47

Re: Timer in einer DLL?
 
in den api tutorials von luckie findest du ein bsp womit du einen timer per winapi erzeugen kannst:

api tutorials

Lossy eX 26. Apr 2008 07:18

Re: Timer in einer DLL?
 
Du kannst Komponenten auch ohne Form erstellen. Dazu musst du lediglich eine Instanz von TTimer erstellen und alle Eigenschaften per Code zuweisen.

schwa226 26. Apr 2008 10:48

Re: Timer in einer DLL?
 
Danke für die Info!

Habe es nun fast mit SetTimer hinbekommen:
Code:
                  {Zeitgeber erstellen}
                  SetTimer(MMFData.WinHandle, MMFData.IDC_TIMER, 1000, @TimerProc);
Code:
function TimerProc(hwnd: HWND; uMsg: UINT; idEvent: UINT; dwTime: DWORD):BOOLEAN; stdcall;
begin
   KillTimer(MMFData.WinHandle, MMFData.IDC_TIMER);
   messagebox(0,'Timer fertig','Test',0);
end;
Nun habe ich aber das Problem mit globalen Hooks! Wenn das Application Fenster, dass die DLL aufruft im Vordergrund ist funktioniert der Timer.

Ist jedoch ein anderes Programm im Vordergrund wird der Timer nicht aktiviert!

Wie kann man das noch machen?


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