Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Mit Service auf Desktop zeichnen

  Alt 10. Sep 2006, 16:20
So wechsle ich den Desktop (so das Zeischnen über GetDC(0) funktioniert und erzeugte TForms auch auf diesem Desktop landen)
Delphi-Quellcode:
var
  lDesktop,
  lStationNew : Cardinal;
begin
  lStationNew := OpenWindowStation('WinSta0', True, GENERIC_ALL);
  if (lStationNew <> 0) then
  begin
    SetProcessWindowStation(lStationNew);
    lDesktop := OpenDesktop('Default', DF_ALLOWOTHERACCOUNTHOOK, True, GENERIC_ALL);
    if (lDesktop <> 0) then
    begin
      if SetThreadDesktop(lDesktop) then
        fCouldSwitch := True;
      CloseDesktop(lDesktop);
    end;
    CloseWindowStation(lStationNew);
  end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat