Hallo,
Ich programmiere gerade einen Dienst. Leider verbaucht der Dienst auch 100% CPU Zeit. In einer
GUI Anwendung kann ich mit
App.ProcessMessages;
die Rechenzeit an das System zurückgeben.
Leider steht mir die Klasse
App in meiner Anwendung nicht zur Vverfügung.
Der Relevante Codeteil:
Delphi-Quellcode:
procedure ProcessMessages(hWnd: DWORD);
var
Msg: TMsg;
begin
while PeekMessage(Msg, hWnd, 0, 0, PM_REMOVE) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;
PROCEDURE SERVICE_MAIN;
BEGIN
REPEAT
IF NOT paused THEN
BEGIN
ProcessMessages(0);
if SecondsBetween(time, time0)>=timedelta then
begin
Windows.Beep(2000, 250);
time0:=time;
end;
END;
UNTIL stopped;
END;
Mir ist klar, daß das
Handle 0 nicht gültig ist. Hat jemand eine Idee wie ich die CPU Zeit runter bekomme?