Thema: Delphi Nach Explorer absturz

Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#24

AW: Nach Explorer absturz

  Alt 15. Sep 2020, 18:15
Falls die Warteschleife doch unumgänglich sein sollte, schon mal dran gedacht diese mittels SLeep(1); drin etwas weniger CPU hungrig zu gestalten?
Warum?
Ich mache es anders.

Delphi-Quellcode:
         
repeat
  HwndTarget := FindWindow('Progman', 'Program Manager');
  WinProcessMessages;
  inc(Counter);
until (HwndTarget <> 0) or (Counter = 30000);
siehe!
Delphi-Quellcode:
procedure WinProcessMessages;
var
  ProcMsg: TMsg;
begin
  while PeekMessage(ProcMsg, 0, 0, 0, PM_REMOVE) do
  begin
    if (ProcMsg.message = WM_QUIT) then
      Exit;
    TranslateMessage(ProcMsg);
    DispatchMessage(ProcMsg);
  end;
end;
Da ist nichts CPU hungrig.
Alle Messagen werden weiter behandelt und sollten mit einem Sleep nicht unterbrochen werden.

Zitat:
Würdest du dich da registrieren, bekämst do scheinbar automatisch eine Windows Botschaft sobald der Taskbar gestartet wurde
Muss mich da mal schlau machen verstehe immer noch nicht warum ich ein extra Event definieren sollte.

Geändert von venice2 (15. Sep 2020 um 18:20 Uhr)
  Mit Zitat antworten Zitat