Einzelnen Beitrag anzeigen

Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#5

Re: EnumWindows in einem Thread ausführen?

  Alt 6. Mär 2009, 14:32
Delphi-Quellcode:
type
  TMyThread = class(TThread)
    protected
      procedure Execute; override;
    public
      constructor Create; virtual;
      class function GetPid(hHwnd: HWND; lParam : Integer): Boolean; stdcall;
  end;

constructor TMyThread.Create;
begin
  FreeOnTerminate:=True;
  inherited Create(false);
end;

class function TMyThread.GetPid(hHwnd: HWND; lParam : Integer): Boolean; stdcall;
begin
  if (hHwnd=0) then Result:=False
   else Result:=True;
//code gekürzt aber kracht ja trozdem ;-)
end;

procedure TMyThread.Execute;
begin
  while not Terminated do
    begin
      EnumWindows(@TMyThread.GetPid, 0);
      Sleep(5000);
    end;
end;
stürzt immer noch ab
  Mit Zitat antworten Zitat