Einzelnen Beitrag anzeigen

Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#1

Form auf anderen Desktop anzeigen

  Alt 25. Sep 2004, 15:19
Hi ihrs


mit folgendem Code versuche ich ein VCL Fenster auf einem anderen Desktop anzuzeigen.
Der Desktop wird zwar erstellt, bleibt aber leer, da dass Fenster auf dem Standartdesktop angezeigt wird. Mit einem NonVCL Fenster funktioniert der Code aber.

Delphi-Quellcode:
program Project1;

uses
  Windows,
  Forms,
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

var
  OldDesktop, Desktop: HDESK;

begin
  OldDesktop:=GetThreadDesktop(GetCurrentProcessId);
  Desktop:= CreateDesktop('NewDesk', nil, nil, DF_ALLOWOTHERACCOUNTHOOK, GENERIC_ALL, nil);
  SetThreadDesktop(Desktop);
  switchdesktop(Desktop);

  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;

  SetThreadDesktop(OldDesktop);
  switchdesktop(OldDesktop);
  CloseDesktop(Desktop);
end.
Wie kann ich ein VCL Fenster auf dem neuerstellten Desktop anzeigen???

Vielen Dank
  Mit Zitat antworten Zitat